例如,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
时,我想指定特定实例,以及它应该访问的任何属性。