# Locals to Fields

This protection will convert all locals to fields and name them randomly with names from the .NET Library to fool with reverse engineers.

{% code title="Before Obfuscation" %}
```csharp
[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static ResourceManager ResourceManager
		{
			get
			{
				bool flag = Resources.resourceMan == null;
				if (flag)
				{
					ResourceManager resourceManager = new ResourceManager("Trinity.Properties.Resources", typeof(Resources).Assembly);
					Resources.resourceMan = resourceManager;
				}
				return Resources.resourceMan;
			}
		}
```
{% endcode %}

{% code title="After Obfuscation" %}
```csharp
[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static ResourceManager ResourceManager
		{
			get
			{
				<Module>.DocComment = (Resources.resourceMan == null);
				if (<Module>.DocComment)
				{
					<Module>.SqlRowsCopiedEventArgs = new ResourceManager("Trinity.Properties.Resources", typeof(Resources).Assembly);
					Resources.resourceMan = <Module>.SqlRowsCopiedEventArgs;
				}
				<Module>.DefineField = Resources.resourceMan;
				return <Module>.DefineField;
			}
		}
```
{% endcode %}
