重複の可能性:
c#でメソッドの呼び出し元を取得する
メソッドが実行されるオブジェクトのインスタンスを取得することは可能ですか?
例えば...
public class Person
{
public string Name { get; set; }
public void PrintMyName()
{
NamePrinter np = new NamePrinter();
np.PrintName();
}
}
public class NamePrinter
{
public void PrintName()
{
Person p = ?;
Console.Writeline(p.Name);
}
}
public class Program
{
static void Main()
{
Person person = new Person() { Name = "Brandon"; }
person.PrintMyName();
}
}
PrintNameメソッドで「p」を見つける方法はありますか?
編集:上記のコードの問題は、さまざまな方法で非常に簡単に解決できます。私は愚かではなく、これが私の質問を明確にするために思いつくことができる最も簡単なコードであると仮定してください。