这可能看起来像是一个初学者的问题,因为这是我的第一个大型c#项目转换.目前正在将一个大型项目从vb.net转换为c#,我对c#语法非常了解并且转换非常顺利.我的一个问题是 - 在vb.net中我可以使用import语句公开一个类:
Imports DataAccessLayer.DataAccess
Run Code Online (Sandbox Code Playgroud)
并说在DataAccess类中有一个名为GetDataTable的方法,我可以通过使用GetDataTable(params)来调用它
现在,使用C#,我只能这样做
Using DataAccessLayer;
Run Code Online (Sandbox Code Playgroud)
并且不能公开DataAccess类,只是DataAccessLayer命名空间并且必须执行DataAccess.GetDataTable(params),如果我必须在任何地方执行此操作,这显然会为项目添加大量额外代码.
有没有办法公开类而不仅仅是命名空间?这是我的构造函数
namespace DataAccessLayer
{
public class DataAccess
{
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
如果您使用的是C#v6或更高版本,则可以导入如下静态类:
using static Namespace.StaticClass;
Run Code Online (Sandbox Code Playgroud)
所以你可以为你的班级做同样的事情:
using static DataAccessLayer.DataAccess;
Run Code Online (Sandbox Code Playgroud)