難読化から(名前空間によって)除外された(転送する必要があるため)クラスには、この種のコンストラクターを持つコンストラクターがあります
public MyClass<T> (T currentObject, Func<T, int> extrator) : where T : XYZ{}
コンストラクターを呼び出すときは、次のようにします
new MyClass(myObject, o=>o.Id)
コンパイル後、逆コンパイル時に静的メソッドが追加されていることがわかりました。
[CompilerGenerated]
private static int <.ctor>b__b(CurrentObjectClass e)
{
return e.Id;
}
これはメソッドであり、名前空間が除外されているため、このクラスは変更されないことを期待していました。しかし、dotfuscator が起動した後、次のようになりました。
[CompilerGenerated]
private static int <.ctor>b__5(CurrentObjectClass e)
{
//Obfuscated code
}
クライアントとサーバーの間でこのクラスを使用するため、サーバーはリリース (難読化) で実行され、クライアントはデバッグでのみ実行されることがよくあります。 .Net リモーティング)。
この動作を防ぐ方法はありますか?