gpt4 book ai didi

c# - 命名空间和类与 .NET Framework 命名空间和类相同

转载 作者:行者123 更新时间:2023-12-04 16:56:21 29 4
gpt4 key购买 nike

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

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

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

谢谢

最佳答案

我尝试使用 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);
}
}
}

关于c# - 命名空间和类与 .NET Framework 命名空间和类相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22434129/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com