.NET 4.5调用DLL静态方法无法省略类名直接调用问题咨询
解决方法
你要实现无需类名前缀直接调用静态方法的需求,需要满足两个前提条件:
- C#语言版本要求
你想要使用的「省略静态类名调用静态方法」语法依赖using static指令,该特性是C# 6.0版本才引入的。.NET Framework 4.5运行时本身兼容该特性,但默认配套的C#编译器版本为C# 5.0,不支持该语法。
你可以按以下步骤修改语言版本:- 右键控制台项目→点击「属性」
- 切换到「生成」标签页→点击底部的「高级」按钮
- 在「语言版本」下拉框中选择C# 6.0或更高的兼容版本,保存即可。
- 修改using引用语句
不要仅引用命名空间,需要用using static直接引用对应的静态类,修改你的引用代码为:
完成以上两步后,你就可以直接用using static MyLib.MyClass;MyMethod();的方式调用目标方法了。
兼容低版本C#的替代方案
如果你不方便升级C#语言版本,可以在控制台项目的调用类中添加一层简单的封装代理,示例如下:
// 在你的Program类或者其他调用类中添加以下代码 static void MyMethod() => MyLib.MyClass.MyMethod();
封装后也可以直接调用MyMethod()。
内容的提问来源于stack exchange,提问作者Duncan_McCloud
相关产品推荐
相关产品推荐

