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

Unity中.NET Framework下解决List命名空间歧义引用的方法

解决List类型引用歧义的方案
  • 正确使用using别名
    你之前写的using List = System.Collections.Generic;是错误的,因为别名指向的是命名空间而非具体类型。正确的写法是直接将List别名指向System的泛型List类型:

    using List = System.Collections.Generic.List;
    

    这样在代码里直接写List<string>就会默认指向System.Collections.Generic.List<string>,不会再和Zenject的List产生歧义。

  • 全局using(适用于支持C# 10及以上的.NET版本)
    如果你的项目使用的是支持C# 10的.NET版本,可以在项目根目录添加一个GlobalUsings.cs文件,写入全局别名:

    global using List = System.Collections.Generic.List;
    

    这样所有代码文件都会自动应用这个别名,无需每个文件单独写using。

  • 排除Zenject的List类型(进阶方案)
    如果你完全不需要Zenject的List,可以通过条件编译来避免引入该类型:

    #define EXCLUDE_ZENJECT_LIST
    #if !EXCLUDE_ZENJECT_LIST
    using Zenject;
    #endif
    

    不过这种方法不如别名方案直接,仅适用于确定永远不会用到Zenject的List的场景。

内容的提问来源于stack exchange,提问作者Izhar Mishli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 00:47:07