我知道Func 用于传递一个方法,该方法具有要在另一个方法中使用的返回值。我知道Action 用于传递一个没有返回值的方法,该方法不能在另一个方法中使用。有没有一种方法可以传递属性,以便可以在另一个方法中使用它的获取/设置?例如,这是使用Func 的方法:public bool RangeCheck (int minVal, int maxVal, Func<< int, int >> someMethod){ bool retval = true; try { for (int count = min; count <= max; count++) { int hello = someMethod(count); } } catch { retval = false; } return retval;}我正在寻找的是这样的:public bool RangeCheck(int min, int max, Prop<< int >> someProperty){ bool retval = true; try { for (int count = min; count <= max; count++) { someProperty = count; } } catch { retval = false; } return retval;}那里有什么东西吗?我什么都找不到。这将非常有用。谢谢。 最佳答案 您可以使用lambda作为包装器吗?MyClass myClass = new MyClass();bool val = RangeCheck(0, 10, () => myClass.MyProperty);如果您想同时做这两个,则将制作两个lambda,一个用于set,一个用于get。bool val = RangeCheck(0, 10, () => myClass.MyProperty, (y) => myClass.MyProperty = y);我的语法可能已关闭,但我认为这给出了想法。关于c# - 如果可能,如何传递C#属性以用作方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13057055/
10-14 16:41
查看更多