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

news/2024/9/19 4:51:34/ 标签: c#, 开发语言

说到 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.ppmy.cn/news/1520618.html

相关文章

通俗易懂理解Java枚举类

什么是枚举 一组常量。 比如一年的 4 个季节,一年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 例如定义一个颜色的枚举类。 enum Color { RED, GREEN, …

C++菜鸟教程 - 从入门到精通 第一节

一.C简介 C 是一种编程语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 C 是一种…

MongoDB之MongoDB Compass工具

MongoDB Compass 是 MongoDB 官方提供的一款图形化用户界面 (GUI) 工具,用于与 MongoDB 数据库进行交互和管理。Compass 提供了丰富的功能,能够帮助开发者、数据库管理员以及数据分析师轻松管理和分析 MongoDB 数据。以下是对 MongoDB Compass 的详细介绍…

Go语言 Go程基础

本篇文章主要为Go语言 Go程基础内容介绍及代码示例。 目录 并发与并行 Go程介绍 简单go程示例 匿名函数写法 启动多个子go进程 总结 并发与并行 并发:电脑同时听歌,看小说,看电影。cpu根据时间片进行划分,交替执行这个三个…

Windows安装docker,启动ollama运行open-webui使用AIGC大模型写周杰伦歌词

Windows安装docker,启动ollama运行open-webui使用AIGC大模型写周杰伦歌词 1、下载docker的Windows版本。 docker下载地址: https://docs.docker.com/desktop/install/windows-install/https://docs.docker.com/desktop/install/windows-install/ 2、设…

java基础知识-JVM知识详解

一、JVM内存结构 Java虚拟机(JVM)的内存结构主要分为几个不同的区域,每个区域都有其特定的目的和功能。以下是JVM内存结构的主要组成部分: 先看一下总体的结构图 程序计数器(Program Counter Register) 这是一个较小的内存块,用于存储当前线程所执行的字节码指令的地址…

tomato靶机通关攻略

主机发现 用kali去扫描端口,发现有3个开放端口 访问网站 在kali里面进行目录扫描,找到一个antibot_image 找到一个/antibot_image/ 目录,进而找到/antibots/目录 发现可能存在文件包含 页面通过image传参查看passwd文件 页面通过image传参查…

Linux 虚拟网络三大基石:Namespace、Veth pair 与 Bridge

引言 在 Linux 的世界里,虚拟网络技术是系统管理、云计算和容器化不可或缺的一部分。今天,我们将深入探讨构建这些虚拟网络的三大基石:Namespace、Veth 对和 Bridge,揭示它们如何在背后默默支撑起你的网络环境。 Namespace&…

区块链入门

1.1 区块链技术的发展 随着 2008 年比特币(Bitcoin) 的发明,一个被称为区块链(Blockchain) 的新概念进入了人们的视野,这项新技术据信有可能彻底改变整个社会。 区块链有望对每个行业产生颠覆的影响,包括但不限于 IT、金融、政府、媒体、医疗、法律和艺术等。一个流派将区…

速盾:防御ddos攻击的几大有效方法是什么?

DDoS攻击(分布式拒绝服务攻击)是一种恶意攻击手段,旨在通过向目标服务器发送大量的请求,使其无法正常响应正常用户的请求。这种攻击会耗尽服务器的带宽和资源,导致服务不可用。为了保护网络安全,防御DDoS攻…

线性代数 -- 矩阵求导

Tips:本文为理解神经网络的前置知识,整体内容并不全,相关内容还需后续进一步完善。 一、基础 1、标量、向量和矩阵 标量:只有大小,没有方向的量 向量(欧几里得向量):具有大小和方向…

Redis Desktop Manager 0.8.8.384 安装与使用详解

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

深入解析多商户商城系统源码:如何开发直播商城小程序?

本篇文章,小编将深入解析多商户商城系统源码的关键技术,并详细探讨如何基于这些源码开发一个功能完善的直播商城小程序。 一、多商户商城系统源码的核心构架 多商户商城系统源码的核心在于其能够支持多个商户独立运营,但同时又在一个统一的平…

LoRA大模型微调的利器

LoRA模型是小型的Stable Diffusion模型,它们对checkpoint模型进行微小的调整。它们的体积通常是检查点模型的10到100分之一。因为体积小,效果好,所以lora模型的使用程度比较高。 这是一篇面向从未使用过LoRA模型的初学者的教程。你将了解LoR…

Linux/Ubuntu服务器 screen 安装与使用

一、screen简单介绍 在Linux系统中,screen是一个非常强大的终端仿真器,它允许用户在一个终端窗口中创建多个子窗口,每个子窗口都可以运行一个独立的会话。screen的主要特点包括: 会话分离:screen允许用户在终端会话中运…

linux安装oracle的详细教程

在Linux系统上安装Oracle数据库涉及多个步骤,从准备工作到安装和初步配置。下面是一个详细的安装教程,以Oracle Database 19c和Oracle Linux(或类似的Red Hat/CentOS)系统为例。 前提条件 确保系统满足Oracle数据库的硬件和软件要…

学习日志8.30--防火墙NAT

目录 一、实验环境配置 二、配置防火墙静态NAT一对一 三、配置防火墙静态NAT多对多 四、配置防火墙NAT端口转换NAPT 五、防火墙smart-nat、easyip 六、防火墙三元组NAT 在学习过基于路由器的NAT网络地址转换,现在学习基于防火墙NAT的网络地址转换,…

电脑里的文件删除了还能恢复吗?这些方法能帮你找回

在数字化时代,电脑已经成为我们日常生活和工作中不可或缺的工具。然而,随着我们在电脑上创建、编辑和保存的文件越来越多,误删文件的情况也时有发生。一旦发现自己不小心删除了重要文件,很多人都会惊慌失措,疑惑这些被…

深入理解Java 8中的Stream API及其应用

深入理解Java 8中的Stream API及其应用 随着Java 8的推出,Java语言引入了许多令人兴奋的新特性,其中最为引人注目的便是Stream API。Stream API 为我们提供了一种全新的集合操作方式,使得数据处理、转换和过滤变得更加简洁、高效。在本文中&…

收藏夹里的“小网站”被误报违规不让上怎么办?如何将Chrome和Edge安装到 D 盘(含用户数据),重装系统也不会丢失收藏夹和密码?

当你用国产浏览器访问网站的时候,有时候会显示这个: 如果确实是违规网站,不让访问也没什么,但是很多都是误报啊,你这样直接来个大红横幅,还让人活不? 那遇到这种误报应当怎么办呢?有…