我能做什么"使用namespace.class"?

时间:2015-01-02 23:22:49

标签: c# class dll reference namespaces

我想知道这一点,因为我显然不能这样做。我添加了我的.dll作为参考,并添加了using myNamespace; 但无论何时我想调用其中一个函数,我都必须使用 myClass.myMethod(); 有什么我可以做的,所以我不需要在调用程序时引用类名吗?所以我只需要 myMethod();

3 个答案:

答案 0 :(得分:5)

你现在不能。但是在C# 6.0中,您将能够使用static类的指令。

例如:

using System.Console;
// ...
Write(4);

您可以查看所有功能的详细列表here

答案 1 :(得分:5)

在当前的C#中你不能以任何方式做到这一点。 using只需将命名空间放入您的代码中,这样您就不必在每次需要时都明确地编写它。

如果您的班级是static且您使用的是C#6.0,则可以执行以下操作:

using static System.Console;

private static void Main(string[] args)
{
    WriteLine("test");
}

答案 2 :(得分:1)

正如其他答案已经解释过的那样,直到C#6才能实现这一点。但是,您可以使用允许您为类型创建自定义名称的别名来简化您的生活。这是非常方便的,例如当某个类名称较长或出于其他原因时:

您可以通过为using Directive中的名称指定类型来定义别名。你应该知道的其他一些事情:

  
      
  • using指令的范围仅限于其出现的文件。

  •   
  • 创建使用别名,以便更容易将标识符限定为命名空间或类型。 using alias指令的右侧必须始终是完全限定类型,而不管之前使用的using指令。

  •   
  • 创建using指令以使用命名空间中的类型,而无需指定命名空间。 using指令不允许您访问嵌套在您指定的命名空间中的任何命名空间。

  •   
using util = MyNameSpace.MyVeryLongNameStaticUtilityClass;
using other = MyNameSpace.MyVeryLongNameOtherClass;

然后你可以像使用这种类型一样使用它:

private static void Main(string[] args)
{
    var result = util.ParseArgs(args);
    var other = new other();
}