基本思路就是反射。但这个不是很好实现,因为反射是基于程序集的,需要一个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)
foreach(Type t in Assembly.Load("YourLibrary").GetTypes())
//你对这些类信息的操作
//e.g:
//Console.Write(t.FullName);
}
访问自定义类,同个命名空间下,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支持命名空间吗相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!