突出显示代码中的动态调用
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 也在其他部分,所以你应该在删除动态调用后重新包含它。
我正在使用 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 也在其他部分,所以你应该在删除动态调用后重新包含它。