Login
网站首页 > 文章中心 > 其它

c◆◆自定义命名空间_c支持命名空间吗

作者:小编 更新时间:2023-07-12 16:47:22 浏览量:300人看过

基本思路就是反射。但这个不是很好实现,因为反射是基于程序集的,需要一个DLL或EXE作为入口。建议把这个命名空间(如:YourLibrary.YourNamespace)拦雀举放到一个程序集(类库)中,如:YourLibrary。然后用外部的程序集以反射的方式岁蠢加载这个程序集,再调用GetTypes()来获取该程序集下的所有类。比如在YourLibrary.YourNamespace下有A,B,C三个类,现在在Test程序集(如:控制台程序)中简碧遍历这三个类:

using System.Reflection;

namespace Test

{

public class Program

public static void Main(string[] args)

c◆◆自定义命名空间_c支持命名空间吗-图1

foreach(Type t in Assembly.Load("YourLibrary").GetTypes())

//你对这些类信息的操作

//e.g:

//Console.Write(t.FullName);

}

c◆◆自定义命名空间_c支持命名空间吗-图2

访问自定义类,同个命名空间下,class前要加虚宴上友芹访问差告银控制修饰符如 public(公共访问),private(私有访问),

如:namespace myclass

public class x

{ }

命名空间b访问时,就这样

using myclass

namespace bb

public class y {

public string m()

//实例化自定义类

myclass ms=new myclass();

命名空间是C◆◆特性。。。

如果只是防止函数重名的话,可以使用宏定义方式。

没什么太简单的方法。

比较通用的 避免重袜册名的方法

1 限制有效范围

凡是仅在一个文件中使用的, 包括函数和全局变量,一律定义为static

这样即使不判旅同文件重名,也没任何问题

2 对于整个工程有效的全局变量和函数,掘好凳 加一个文件名的前缀。

比如a.c里的

可以定义变量global_1

为a_global_1

这样不同文件不会重名。

以上就是土嘎嘎小编大虾米为大家整理的c◆◆自定义命名空间_c支持命名空间吗相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章