【问题标题】:Namespace and class same as the .NET Framework NameSpace and class命名空间和类与 .NET Framework 命名空间和类相同
【发布时间】:2014-03-16 20:22:39
【问题描述】:

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

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

很抱歉提出此类问题。我很想知道在这种情况下会发生什么。

谢谢

【问题讨论】:

  • 感谢您的工作看起来不错.. 但我正在寻找如何在自定义类系统命名空间 System { public static class 下的自定义 WriteLine() 方法中使用 .NET Console.WriteLine Console { public static void WriteLine(string s) { System.Console.WriteLine("in am in custome WriteLine 方法"); } } }

标签: c# namespaces


【解决方案1】:

我尝试使用外部别名方法,但实际上无法使其工作。没有办法满足您的要求 (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);
        }
    }
}

【讨论】:

  • 感谢您的工作看起来不错.. 但我正在寻找如何在自定义类系统命名空间 System { public static class 下的自定义 WriteLine() 方法中使用 .NET Console.WriteLine Console { public static void WriteLine(string s) { System.Console.WriteLine("in am in custome WriteLine 方法"); } } }
【解决方案2】:

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

【讨论】:

  • 但我一直在寻找如何在自定义类系统命名空间 System { public static class Console { public static void WriteLine(string s) 下的自定义 WriteLine() 方法中使用 .NET Console.WriteLine ) { System.Console.WriteLine("in am in custome WriteLine 方法"); } } }
猜你喜欢
  • 2022-12-31
  • 2020-05-02
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2010-11-27
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多