VB.NET 取当前项目根命名空间

ops/2024/10/18 18:14:33/

VB.NET 取当前项目根命名空间

在VB.NET中,可以使用反射来获取当前程序集的入口点类型(通常是模块或者主类),然后从这个类型的Assembly信息中获取定义它的程序集的根命名空间。以下是一个获取当前项目根命名空间的方法示例:

请注意,这个方法假设您的项目具有一个AssemblyTitleAttribute,并且这个Title属性反映了项目的根命名空间。如果没有设置AssemblyTitle,或者设置的方式不符合预期,那么可能需要调整代码来适应具体的项目结构。

  Dim currentNamespace As String = GetCurrentRootNamespace()MsgBox("当前项目根命名空间:" & currentNamespace)Function GetCurrentRootNamespace() As String'取根命名空间' 获取入口点类型Dim assembly As Assembly = Assembly.GetExecutingAssembly()Dim entryType As Type = Assembly.GetEntryAssembly().GetTypes()(0)' 获取当前程序集assembly = Assembly.GetAssembly(entryType)' 获取当前程序集的属性Dim attributes As AssemblyTitleAttribute() = assembly.GetCustomAttributes(GetType(AssemblyTitleAttribute), False)' 如果定义了AssemblyTitleAttribute,则使用它的Title作为根命名空间If attributes.Length > 0 ThenDim title As String = attributes(0).TitleDim nsIndex As Integer = title.IndexOf(".")If nsIndex > 0 ThenReturn title.Substring(0, nsIndex)End IfEnd If' 如果没有定义AssemblyTitleAttribute,则从入口点类型的全名中提取根命名空间Dim fullName As String = entryType.FullNameIf fullName IsNot Nothing ThenDim nsIndex As Integer = fullName.IndexOf(".")If nsIndex > 0 ThenReturn fullName.Substring(0, nsIndex)End IfEnd IfReturn String.EmptyEnd Function


http://www.ppmy.cn/ops/52274.html

相关文章

【C#】字符串处理器

实现: 统计字符串中单词的数量。查找字符串中最长的单词,并显示其长度。将字符串中的所有单词首字母大写。将字符串中的所有单词反转。 要求: 使用面向对象的方式实现,包括至少一个类(例如 StringProcessor&#xf…

(一)SvelteKit教程:hello world

(一)SvelteKit教程:hello world sveltekit 的官方教程,在这里:Creating a project • Docs • SvelteKitCreating a project • Docs • SvelteKit 我们可以按照如下的步骤来创建一个项目: npm create s…

栈(数据结构篇)

数据结构篇之栈 栈(stack) 概念 栈(stack)是限制插入和删除只能在一个位置上的进行的表,而这个模型唯一的开口位置是表的末端,叫做栈顶(top),相反表的首部,叫做栈底。对于栈的基本操作有Push(进栈)和Pop(出栈),前者…

计算机组成原理-第6章计算机的运算方法

6.1无符号数和有符号数 6.1.1无符号数 没有符号,在寄存器中的每一位均可用来存放数值。 6.1.2有符号数 1,机器数与真值:0表示正,1表示负。 把符号数字化的数称为机器数,而把带或-符号的数称为真值。 2&#xff0…

抽卡机小程序:设计与开发全攻略

在移动互联网时代,小程序以其轻便、易用、无需安装的特点,迅速成为用户日常使用的重要工具。其中,抽卡机小程序因其独特的娱乐性和互动性,受到广大用户的喜爱。本文将为大家详细介绍抽卡机小程序的设计与开发全攻略。 一、需求分析…

ARM功耗管理软件之软件栈及示例

安全之安全(security)博客目录导读 思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS? SoC底层软件低功耗系统设计与实现-CSDN直播 ARM功耗管理精讲与实战汇总参见:Arm功耗管理精讲与…

越复杂的CoT越有效吗?Complexity-Based Prompting for Multi-step Reasoning

Complexity-Based Prompting for Multi-step Reasoning 论文:https://openreview.net/pdf?idyf1icZHC-l9 Github:https://github.com/FranxYao/chain-of-thought-hub 发表位置:ICLR 2023 Complexity-Based Prompting for Multi-step Reason…

前端面试题(基础篇七)

一、谈谈你对webpack的看法 webpack是一个模块打包工具,我们可以使用webpack管理我们的模块依赖,编译输出模块所需的静态文件。它可以很好的管理、打包web开发中所需的html、css、JavaScript以及其他各种静态文件(使用的图片、字体图标等&am…