当前位置: 首页 > article >正文

C#如何使用外部别名Extern alias

说到 extern 关键字,只是很简单告诉大家用来做区分两个不同 dll 有相同的命名空间和类,可以使用这个关键字。

在遇到了存在两个 dll 都有相同的命名空间,而且有相同的类的时候,如何同时使用这两个 dll 的类。

这里有两个库 JallzuZowsobouNaboro 和 BemzarGasfourouraCunimor 这两个库有相同的类 Foo 只是里面的函数不相同。那么如何才可以使用自己需要的 dll 的函数


//BemzarGasfourouraCunimor 库

namespace lindexi
{
    public class Foo
    {
        public void MestatoRoureefirkiKoobere()
        {
            Console.WriteLine("欢迎访问我博客");
        }
    }
}


// JallzuZowsobouNaboro 库

namespace lindexi
{
    public class Foo
    {
        public void TarlaGeremegar()
        {
            Console.WriteLine("lindexi.github.io");
        }
    }
}

 

这时创建 PearveJalnouChearkachinearDocea 项目引用 BemzarGasfourouraCunimor 和 JallzuZowsobouNaboro 需要调用这两个库的方法

就需要使用 extern 来做

首先右击引用的两个库的属性,可以看到引用的库的别名是 global 这也就是使用 global:: 可以指定对应的类的原因

 

现在需要修改别名为新的,而且不同的字符,这里我把 JallzuZowsobouNaboro 修改为 A ,把 BemzarGasfourouraCunimor 修改为 B ,现在打开 PearveJalnouChearkachinearDocea 的源代码,在调用 JallzuZowsobouNaboro 的库可以使用extern alias A来引用

extern alias A;
extern alias B;

namespace PearveJalnouChearkachinearDocea
{
    class Program
    {
        static void Main(string[] args)
        {
            new B::lindexi.Foo().MestatoRoureefirkiKoobere();
            new A::lindexi.Foo().TarlaGeremegar();
        }
    }
}
extern alias A;
extern alias B;

namespace PearveJalnouChearkachinearDocea
{
    class Program
    {
        static void Main(string[] args)
        {
            new B::lindexi.Foo().MestatoRoureefirkiKoobere();
            new A::lindexi.Foo().TarlaGeremegar();
        }
    }
}

 

现在运行可以输出

使用 外部别名 的关键是右击引用的属性,修改别名,把他修改为一个新的字符。

在使用的时候在所有的代码的最前,也就是 using的前面使用 extern alias 别名;

然后使用对应的类就可以使用 别名::命名空间.类 ,当然可以使用 using 简化,在安装了 Resharper 就会告诉你如何使用using,这里我就不告诉大家。

 


http://www.kler.cn/news/290288.html

相关文章:

  • 单向链表与双向链表
  • 8逻辑回归的代价函数
  • HTTP与TCP的关系是什么?HTTP 的端口有什么意义?
  • ComfyUI SDXL Prompt Styler 简介
  • Android Studio Koala下载并安装,测试helloworld.
  • 惠中科技:以 RDS 光伏自清洁技术开启光伏电站新未来
  • 逻辑学(Logic)
  • Spring常用中间件
  • 智能分拣投递机器人
  • Python的socket库详细介绍
  • TOGAF之架构标准规范-架构愿景
  • Linux基础 -- pthread之线程池任务调度
  • Windows编程系列:PE文件结构
  • 【图论】Dijkstra算法求最短路
  • 【源码】Sharding-JDBC源码分析之ContextManager创建中ShardingSphereDatabase的创建原理
  • 注册安全分析报告:熊猫频道
  • centos 安装使用aria2
  • 数据分析处理库(pandas)
  • 802.11 中 scrambler的matlab仿真
  • Oracle中的临时表Temporary Table
  • [数据集][目标检测]课堂行行为检测数据集VOC+YOLO格式4065张12类别
  • 【2024最新】Adobe Lightroom Classic安装教程(直接使用)
  • 【算法每日一练及解题思路】判断字符串是否包含数字
  • K8S CronJob
  • 跨域问题及解决方案
  • 鸿萌数据恢复服务:VMWare 虚拟机无法访问,该怎样解决?
  • C++中(Qt)类与命名空间
  • 数据结构07
  • idea2021安装教程与常见配置(可激活至2099年)
  • el-select在火狐浏览器中 点击搜索框聚焦时会有一个蓝色的框