2016-08-08 12 views
3

Visual Studio 2015で.NETでプログラムを作成しています。コード内のどこかで動的呼び出しがあると難読化ツールが機能しないという問題がありますので、取り除く必要があります。コード内の動的呼び出しをハイライト表示

Visual Studioでdynamicを使用するコードを強調表示させることはできますか?おそらく警告などを出すでしょうか?

EDIT:

私は自分のコード内の単語dynamicどこにもありませんが、動的呼び出しが残っています。それらは、私が使用するサードパーティのAPIから来ています。 APIからの例の抜粋:

public class ThirdPartyClass 
{ 
    public dynamic Foo 
    { 
     get { ... // returns an instance of class FooClass } 
    } 

    ... 
} 

クラスFooClassはメソッドBar()を持っています。

ここで、私のコードのある時点でThirdPartyClassのインスタンスがtpcと言います。 tpc.Fooは動的であるため、コード

var barVar = tpc.Foo.Bar(); 

の次の行は、動的呼び出しを行います。代わりに動的呼び出しを削除するには

var barVar = ((FooClass)tpc.Foo).Bar(); 

これは、難読化ツールを再度機能させるために必要な処理です。しかし、コードを手作業で行なわずに動的呼び出しを見つけるにはどうすればよいですか?

+2

動的用途を削除するコードをリファクタリングしますか? ダイナミックを使用するプレコンパイルについて知りたいですか? 多分私はあなたの問題を過度に簡素化していますが、CTRL + SHIFT + Fではなく、あなたの問題に対する解決策を「動的」に探していますか? – MichaelThePotato

+0

あなたはちょうどctrl + F dynamic;)かもしれませんダイナミックの使用を禁じるスタイルコップのルールがあるかもしれません。 – Mafii

+0

@MichaelThePotato、@Mafii私の更新された質問をお読みください。 'dynamic'キーワードを検索しても全く役に立ちません。 – Kjara

答えて

1

コード内のすべての動的な使用法を見つける方法は、Microsoft.CSharpの依存関係を一時的に削除することです。これは、動的な使用法のコンパイラエラーにつながります。 Maybeeも他の部分にあるので、動的呼び出しを取り除いた後に再度組み込む必要があります。

関連する問題