xamlファイルにボタンがありますが、場合によっては非表示にする必要があります。
ここにあります:
<Button Visibility="{Binding Path=ShowMyButton}"/>
コードを難読化するまで、バインディングは完全に機能します。
AssemblyInfo.csに、次のアセンブリアノテーションを追加しました。
[assembly: ObfuscateAssemblyAttribute(false, StripAfterObfuscation = false)]
ちなみに私はEazfuscator.NETを使っています
コードを難読化した後、ボタンは常に表示されます。つまり、バインドは機能しなくなります。
ShowMyButtonプロパティに次の注釈を追加しました。
[ObfuscationAttribute(Exclude=true)]
public bool ShowMyButton
{
get
{
return _showMe;
}
set
{
_showMe= value;
OnPropertyChanged("ShowMyButton");
}
}
この除外は問題なく機能しますが、3つの質問があります。
- 難読化に関してxamlが混乱した理由。xamlファイルのバインディングを参照するメソッドを難読化しないように難読化ツールに指示できますか?
msdnによると、ObfuscateAssemblyAttributeは、パブリックメソッドとプライベートメソッドのみを区別します。xamlファイルのバインディングを参照するすべてのメソッドを手動で除外するのは非常にイライラします(私のアプリケーションには数十あります)。自動オプションはありますか?
アプリケーション内の特定のメソッドのみを難読化するように難読化ツールに指示する方法はありますか。つまり、指示があるまで、デフォルトでは何も難読化しないでください。