You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两个命名空间下存在同名类时如何设置默认调用类,无需写全限定名

C# 同名类型冲突解决方案

多命名空间下同名Legs类指定默认实现

使用using 别名指令指定目标类型的别名,优先级高于全局引入的命名空间内的同名类型,无需修改原有命名空间引用:

using Code1.Dog;
using Code2.Cat;
// 声明后直接写Legs默认指向Code1.Dog.Legs
using Legs = Code1.Dog.Legs;

如果需要使用Code2.Cat下的Legs类,单独写全限定名即可,不会出现二义性报错。

ASP.NET中自定义User类与系统同名类冲突

同样使用using别名指令指定自定义User类为当前文件的默认实现:

// 写在当前文件的using声明区域,优先级高于System.Security.Principal的全局引入
using User = MyNamespace.User;

如果你使用C# 10及以上版本,可以通过全局别名实现全项目生效,无需每个文件重复声明:

// 放置在项目的GlobalUsings.cs文件中
global using User = MyNamespace.User;
// 如需使用系统侧的User相关类型,可以单独设置别名避免冲突
global using SysUser = System.Security.Principal.IPrincipal;

内容的提问来源于stack exchange,提问作者Christopher Vickers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:24:03