代码之家  ›  专栏  ›  技术社区  ›  Dan Tao

我可以在方法作用域内的C#或VB.NET中创建别名吗?

  •  2
  • Dan Tao  · 技术社区  · 15 年前

    // C#:
    using C = System.Console;
    

    或:

    ' VB.NET '
    Imports C = System.Console
    

    …但是 方法范围内 --而不是应用于整个文件?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Adam Robinson    15 年前

    虽然这可能有点过头了,但是您可以创建一个部分类,只将您希望应用别名的函数放在它们自己的文件中。

    /*Existing using statements*/   
    
    namespace YourNamespace
    {
        partial class Foo
        {
    
        }
    }
    

    在另一个文件中:

    /*Existing using statements*/   
    using C = System.Console;
    
    namespace YourNamespace
    {
        partial class Foo
        {
            void Bar()
            {
                C.WriteLine("baz");
            }
        }
    }
    
        2
  •  2
  •   Hans Passant    15 年前

       var c = Console.Out;
       c.WriteLine("hello");
       c.WriteLine("world");
    

    或VB.NET With语句:

        With Console.Out
            .WriteLine("hello")
            .WriteLine("world")
        End With
    
        3
  •  0
  •   sashaeve    15 年前

    here here 更多细节。

    例子:

    namespace PC
    {
        // Define an alias for the nested namespace.
        using Project = PC.MyCompany.Project;
        class A 
        {
            void M()
            {
                // Use the alias
                Project.MyClass mc = new Project.MyClass();
            }
        }
        namespace MyCompany
        {
            namespace Project
            {
                public class MyClass{}
            }
        }
    }
    
    推荐文章