例如,C#自给自足的吸气剂

例如,C#自给自足的吸气剂,c#,delegates,getter,C#,Delegates,Getter,我想创建一个能够访问特定实例值的自包含对象。我希望它是动态的,这样它就可以获取任意对象并访问该对象的任意字段或属性 假设我有以下类的一个实例: public class MyClass { private int _myValue; public int MyValue { get { return _myValue; } } } 理想情况下,我希望能够创建一个只需一次调用即可获得MyValue的对象,如下所示: var myObject = new MyClass()

我想创建一个能够访问特定实例值的自包含对象。我希望它是动态的,这样它就可以获取任意对象并访问该对象的任意字段或属性

假设我有以下类的一个实例:

public class MyClass
{
  private int _myValue;
  public int MyValue
  {
    get { return _myValue; }
  }
}
理想情况下,我希望能够创建一个只需一次调用即可获得
MyValue
的对象,如下所示:

var myObject = new MyClass();

// somewhere else in code:
myValueGetter.GetValue(); // Returns myObject.MyValue
我怎样才能做到这一点呢?

使用lamba

var instance = new MyClass();
var myValueGetter = new Func<int>( () => instance.MyValue);
Console.WriteLine(myValueGetter());
var instance=new MyClass();
var myValueGetter=newfunc(()=>instance.MyValue);
WriteLine(myValueGetter());

如果代码中的其他地方有多个实例,您希望
GetValue
返回什么?@JohnWu当我创建
myValueGetter
时,我想指定特定实例,以及它应该访问的任何属性。