1、这样理论上可行吗?
2、ref 是不行的
3、想过用委托,但不知道怎么写。
目标是给这个属性赋值,不是取值。(out ref 都不能用于属性)
我知道用委托怎么实现了:
1、声明委托:
public delegate void SetParamDel(int value); //这里的 int 根据属性具体类型来定
2、设置属性的函数:
public void SetParamWithDelegate ( SetParamDel setFunction)
{
int value = 1; //不同情况有不同数据来源
setFunction(value);
}
3、调用
SetParam setFunc = i => Person.Age = i ; //用 lamda 表达式给委托赋值
SetParamWithDelegate ( setFunc );
out ref 都不能用于修饰属性
追答你间接赋值给变量再给属性不就得了!!
追问 确实可以,将 值 返回,或者用 out 传回,再给属性赋值,都可以。
具体方案,要看实际情况吧。
我用委托实现了另外一种方法,见问题补充。
谢谢你