C# 自包含 getter 例如

C# Self-contained getter for instance

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

假设我有以下实例 class:

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

我怎样才能做到这一点?

使用兰巴。

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