C#中,怎么样将属性做函数的参数传递,并给该属性赋值?

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 ref 都不能用于修饰属性

追答

你间接赋值给变量再给属性不就得了!!

追问

  确实可以,将 值 返回,或者用 out 传回,再给属性赋值,都可以。
  具体方案,要看实际情况吧。
  我用委托实现了另外一种方法,见问题补充。
  谢谢你

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答