您的位置:首页 > 其它

属性作为虚字段使用

2010-12-13 00:22 183 查看
把C#入门经典第四版的基础部分重打了遍后 我又拿起了上次刚看到类这章的c#本质论





属性和方法调用不允许作为ref或out参数值使用

C#允许属性像字段那样使用,只是不允许将它们作为ref或our参数值来传递. ref和out参数值在内部实现时,需要将内存地址传给目标方法. 但是,
由于属性可能是没有支持字段的虚字段, 也有可能是只读/只写的,因此不可能传递其基础存储的地址. 所以, 不能将属性作为ref或out参数值来传递. 首先必须将值复制到一个变量中, 然后传递该变量. 方法调用结束之后, 再将变理的值赋回给属性.





Name属性的取值方法将FirstName和LastName属性返回的值连接到一起. 事实上,所赋的姓氏值并没有真正存储下来. 为Name属性赋值时,右侧的值会解析成它的名字和姓氏部分

感觉没啥注释好加的...很明了的代码

Code:

class Employee

{
public string FirstName

{
get;

set;
}

public string LastName

{
get;

set;
}

//属性作为虚字段使用

public string Name

{
get
{
return FirstName + " " + LastName;

}
set
{
string[] names;

//以' '拆分 存入names数组

names = value.Split(new char[] { ' ' });

//判断数组长度

if (names.Length == 2)

{
FirstName = names[0];
LastName = names[1];
}
else

{
throw new System.ArgumentException(

string.Format(

"Assigned value '{0}' is invalid", value));

}
}

}

}







QQ群:45406906

欢迎菜鸟及大神们加入

技术交流 学习经验

学生的群 大多都是菜鸟 不必拘束...只要相互尊重就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐