日期:2014-05-17 浏览次数:20778 次
//如下代码:
namespace MyNameSpace
{
public class MyClass
{
public void Test()
{
//下面是是死的。 如何自动获取到代码所在的命名空间与所在类名呢?
String CurrNameSpaceAndClassName = "MyNameSpace.MyClass";
Type type = Type.GetType(CurrNameSpaceAndClassName);
//
}
}
}
Type type = new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().DeclaringType;
System.Reflection.MethodBase.GetCurrentMethod().ReflectedType
public IEnumerable GetNearClass()
{
var myType = this.GetType();
var ns = myType.Namespace;
List<Type> types= new List<Type>();
foreach (var assembly in System.AppDomain.CurrentDomain.GetAssemblies())
{
foreach (var type in assembly.GetTypes())
{
if (type.Namespace == ns)
types.Add(type);
}
}
return types;
}