-1
当一个类的实例中的某个字段属于另一个类时,另一个类的实例是否可以知道它所属的类的名称?对象是否可以知道它是一个字段的类的名称?
例如,
public class ClassA
{
public void MethodA()
{
... // can an ClassA instance know the name of the class of which it is a field?
}
}
public class ClassB
{
Public ClassA objA;
public void MethodB()
{
objA.MethodA();
}
}
public class ClassC
{
Public ClassA objA;
public void MethodC()
{
objA.MethodA();
}
}
public static void Main(string[] args)
{
ClassB objB = new ClassB();
objB.MethodB();
ClassB objC = new ClassC();
objC.MethodC();
}
当任objB.MethodB()
或objC.MethodC()
呼叫objA.MethodA()
,内部objA.MethodA()
,它可以知道类的objA
是一个字段的名称,而无需通过类作为名一个参数为objA.MethodA()
?谢谢。
我想应该通过堆栈跟踪是可能的。但那只是要求做大量不必要的工作。恕我直言 – Nkosi
谢谢。你能详细说明吗? – Tim
@Tim为什么不向MethodA添加一个'object caller'参数? StackTrace超级慢 –