using + .net 中的别名
如果你的类的名称恰巧和别人一样,但是两个类的命名空间不一样,那么该如何处理呢?
namespace CompanyA.AssemblyA
{
public class Console
{
public static void DoA()
{
//just do nothing
}
}
}
namespace CompanyB.AssemblyB
{
public class Console
{
public static void DoB()
{
//just do nothing
}
}
}
如果要调用的话,代码可能会是下面这个样子:
class Program
{
static void Main(string[] args)
{
global::System.Console.WriteLine("test");
CompanyA.AssemblyA.Console.DoA();
CompanyB.AssemblyB.Console.DoB();
}
}
很明显,每次都要完整的写命名空间是一件很类的事情,如果你知道命名空间别名的话,你可以这样写:
using SystemConsole = global::System;
using CA = CompanyA.AssemblyA;
using CB = CompanyB.AssemblyB;
class Program
{
static void Main(string[] args)
{
SystemConsole.Console.WriteLine("test");
CA.Console.DoA();
CB.Console.DoB();
}
}
除了对命名空间别名的话,还可以对某个具体的类别名。
using MyIntType = System.Int32;
using MyDoubleType = System.Double;
namespace CAStudy
{
class AppStart
{
public static void Main()
{
MyIntType intType = 10;
Console.WriteLine(intType);
MyDoubleType doubletype = 10.0;
Console.WriteLine(doubletype);
Console.ReadLine();
}
}
}
使用了类型别名后,使用System.Int32作为参数的类型也变成了MyIntType,同样返回值也会发生改变。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架