Ví dụ:C# lấy classname trong một phương pháp tĩnh
namespace MyProgram.Testing
{
public class Test1
{
public void TestMethod()
{
String actualType = this.GetType().FullName.ToString();
return;
}
public static String GetInheritedClassName()
{
return System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName;
}
}
public class Test2 : Test1
{
}
public class Test3
{
String test2ClassName = Test2.GetInheritedClassName();
}
}
Dù sao, tôi muốn nó trở về "MyProgram.Testing.Test2" mà thay vào đó Test2.GetInheritedClassName() trả về "MyProgram.Testing.Test1". Tôi phải làm gì để đưa vào lớp tĩnh đó để làm cho nó trở lại (nếu có thể)?
Tôi không nghĩ điều này là có thể, các thành viên tĩnh luôn luôn sống trên lớp cơ sở đã xác định chúng. Nhưng tôi chắc rằng người khác có thể cung cấp câu trả lời kỹ thuật hơn. – CodingGorilla