• <tfoot id='lVeYW'></tfoot>

  • <i id='lVeYW'><tr id='lVeYW'><dt id='lVeYW'><q id='lVeYW'><span id='lVeYW'><b id='lVeYW'><form id='lVeYW'><ins id='lVeYW'></ins><ul id='lVeYW'></ul><sub id='lVeYW'></sub></form><legend id='lVeYW'></legend><bdo id='lVeYW'><pre id='lVeYW'><center id='lVeYW'></center></pre></bdo></b><th id='lVeYW'></th></span></q></dt></tr></i><div id='lVeYW'><tfoot id='lVeYW'></tfoot><dl id='lVeYW'><fieldset id='lVeYW'></fieldset></dl></div>
    • <bdo id='lVeYW'></bdo><ul id='lVeYW'></ul>

    <small id='lVeYW'></small><noframes id='lVeYW'>

      1. <legend id='lVeYW'><style id='lVeYW'><dir id='lVeYW'><q id='lVeYW'></q></dir></style></legend>

        C# 命名空间别名 - 有什么意义?

        时间:2023-09-17
            <tbody id='7LHG2'></tbody>
        1. <small id='7LHG2'></small><noframes id='7LHG2'>

              <bdo id='7LHG2'></bdo><ul id='7LHG2'></ul>
                1. <i id='7LHG2'><tr id='7LHG2'><dt id='7LHG2'><q id='7LHG2'><span id='7LHG2'><b id='7LHG2'><form id='7LHG2'><ins id='7LHG2'></ins><ul id='7LHG2'></ul><sub id='7LHG2'></sub></form><legend id='7LHG2'></legend><bdo id='7LHG2'><pre id='7LHG2'><center id='7LHG2'></center></pre></bdo></b><th id='7LHG2'></th></span></q></dt></tr></i><div id='7LHG2'><tfoot id='7LHG2'></tfoot><dl id='7LHG2'><fieldset id='7LHG2'></fieldset></dl></div>

                  <legend id='7LHG2'><style id='7LHG2'><dir id='7LHG2'><q id='7LHG2'></q></dir></style></legend>
                  <tfoot id='7LHG2'></tfoot>

                  本文介绍了C# 命名空间别名 - 有什么意义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  人们会在何时何地使用命名空间别名

                  Where or when would one would use namespace aliasing like

                   using someOtherName =  System.Timers.Timer;
                  

                  在我看来,这只会增加理解语言的困惑.

                  It seems to me that it would just add more confusion to understanding the language.

                  推荐答案

                  那是类型别名,不是命名空间别名;消除歧义很有用 - 例如,反对:

                  That is a type alias, not a namespace alias; it is useful to disambiguate - for example, against:

                  using WinformTimer = System.Windows.Forms.Timer;
                  using ThreadingTimer = System.Threading.Timer;
                  

                  (ps: 感谢您选择Timer ;-p)

                  (ps: thanks for the choice of Timer ;-p)

                  否则,如果您在同一个文件中同时使用 System.Windows.Forms.TimerSystem.Timers.Timer,则必须继续提供全名(因为 Timer 可能会令人困惑).

                  Otherwise, if you use both System.Windows.Forms.Timer and System.Timers.Timer in the same file you'd have to keep giving the full names (since Timer could be confusing).

                  它还与 extern 别名一起使用,用于使用来自不同程序集的具有相同完全限定类型名称的类型 - 很少见,但受支持很有用.

                  It also plays a part with extern aliases for using types with the same fully-qualified type name from different assemblies - rare, but useful to be supported.

                  实际上,我可以看到另一种用途:当您想要快速访问一个类型,但又不想使用常规的 using 因为您无法导入一些冲突的扩展方法时......有点复杂,但是……这里有一个例子……

                  Actually, I can see another use: when you want quick access to a type, but don't want to use a regular using because you can't import some conflicting extension methods... a bit convoluted, but... here's an example...

                  namespace RealCode {
                      //using Foo; // can't use this - it breaks DoSomething
                      using Handy = Foo.Handy;
                      using Bar;
                      static class Program {
                          static void Main() {
                              Handy h = new Handy(); // prove available
                              string test = "abc";            
                              test.DoSomething(); // prove available
                          }
                      }
                  }
                  namespace Foo {
                      static class TypeOne {
                          public static void DoSomething(this string value) { }
                      }
                      class Handy {}
                  }
                  namespace Bar {
                      static class TypeTwo {
                          public static void DoSomething(this string value) { }
                      }
                  }
                  

                  这篇关于C# 命名空间别名 - 有什么意义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:在 C# 中使用具有默认命名空间的 Xpath 下一篇:没有了

                  相关文章

                2. <tfoot id='TqdJl'></tfoot>

                3. <legend id='TqdJl'><style id='TqdJl'><dir id='TqdJl'><q id='TqdJl'></q></dir></style></legend>

                    <bdo id='TqdJl'></bdo><ul id='TqdJl'></ul>

                    <small id='TqdJl'></small><noframes id='TqdJl'>

                      <i id='TqdJl'><tr id='TqdJl'><dt id='TqdJl'><q id='TqdJl'><span id='TqdJl'><b id='TqdJl'><form id='TqdJl'><ins id='TqdJl'></ins><ul id='TqdJl'></ul><sub id='TqdJl'></sub></form><legend id='TqdJl'></legend><bdo id='TqdJl'><pre id='TqdJl'><center id='TqdJl'></center></pre></bdo></b><th id='TqdJl'></th></span></q></dt></tr></i><div id='TqdJl'><tfoot id='TqdJl'></tfoot><dl id='TqdJl'><fieldset id='TqdJl'></fieldset></dl></div>