如何在c#中动态获取命名空间和类的名称?
本文关键字:命名空间 获取 动态 | 更新日期: 2023-09-27 18:12:20
我有两个类,A类和b类。这两个类位于两个不同的命名空间中。从类a调用类B的静态方法,如何在类B的静态方法中获得类a及其名称空间的完整信息?
我不想在A类中添加任何代码但是可以在类b中添加任何东西
Through Reflection。
http://msdn.microsoft.com/en-us/library/system.reflection.assemblyname.aspxobj.GetType().FullName;
或
typeof(AClass).FullName;
您应该在您的A
对象上使用GetType()
方法。
namespace nmspA {
public class A{
private void DoSomething(){
B.Foo(this);
}
}
}
namespace nmspB {
public class B {
public static void Foo(A a){
Debug.Write(a.GetType()); // Will write : "nmspA.A"
}
}
}
将类A作为参数传递给类B如何?如:
public class A{
public void CallB(){
ClassB.MyMethod(this);
}
}
public static class B {
public static void MyMethod(A a){
// get info about class a here.
}
}
当然,如果你不想将对象作为参数传递,你也可以查看反射的选项