命名空间和类与.NET Framework NameSpace和类相同

时间:2014-03-16 07:22:09

标签: c# namespaces

我完全知道,当自定义命名空间隐藏它时,我们可以拥有相同的命名空间和.NET Framework命名空间,以及如何访问.NET框架命名空间类。

我的问题是,如果我有一个自定义命名空间和类名与.NET框架命名空间和类名相同,我如何访问其中的.NET框架命名空间和类?示例:如果我创建一个带有System命名空间的C#项目和一个带有ConsoleRead()两个方法的类Write(),我将如何访问.NET框架命名空间和控制台显示输出..

对于提出这类问题的道歉......我很好奇地知道在这种情况下会发生什么。

由于

2 个答案:

答案 0 :(得分:1)

我尝试使用extern别名方法,实际上无法让它工作。无法满足您的要求(Cunningham's Law)。

作为一种解决方法,您可以像我在下面所做的那样重定向呼叫:

namespace System
{
    extern alias ActualSystem;
    //using SC = ActualSystem::System.Console;  
    //does not work:
    //Error 1   The type or namespace name 'Console' does not exist in the namespace 'ActualSystem::System' 
    //          (are you missing an assembly reference?)    
    using ClassLibrary;

    public static class Console
    {
        public static void Write(string s)
        {
            ConsoleRedirect.Write(s);
        }
    }
}

namespace ClassLibrary
{
    using System;
    public static class ConsoleRedirect
    {
        public static void Write(string s)
        {
            Console.Write(s);
        }
    }
}

答案 1 :(得分:0)

您可以在Visual Studio中使用external aliasesHere是命令行参数的描述。