突出显示代码中的动态调用

Highlight dynamic calls in code

我正在使用 Visual Studio 2015 在 .NET 中编写程序。我遇到的问题是,当代码中的任何位置存在动态调用时,我们的混淆工具不起作用,因此我需要摆脱它们.

是否可以让 Visual Studio 突出显示使用 dynamic 的代码?也许发出警告之类的?

编辑:

我的代码中没有 dynamic 这个词,但仍然有动态调用。它们来自我使用的第三方API。 API 中的示例摘录:

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

    ...
}

classFooClass有个方法Bar().

现在假设在我的代码中有一个 ThirdPartyClass 的实例,名为 tpc。下面一行代码

var barVar = tpc.Foo.Bar();

进行动态调用,因为 tpc.Foo 是动态的。要删除我写的动态调用

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

这就是我需要做的,以便使混淆工具再次工作。但是如何在不手动查看代码的情况下找到动态调用?

在代码中查找所有动态用法的一种方法是临时删除 Microsoft.CSharp 依赖项。这将导致编译器在动态使用时出错。 Maybee 也在其他部分,所以你应该在删除动态调用后重新包含它。