- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
psp恢复初始设定C#30新特性( 2)-初始值设定项
psp恢复初始设定:C#3.0新特性( 2)-初始值
设定项
疯狂代码 http://CrazyC/ ĵ http:/CrazyC/DotNet/Article62712.html
写在前边
做事不坚持是我这么多年来最失败地方从今天开始改正没有人也没有动力督促只能靠自己决心和行动来证
明...今天来学学自动属性值设定项或叫化器本人知道这样内容在网上早有了不知能不能放首页再放次听听前辈
同仁们意见
、自动属性
在C# 2.0中我们对成员进行封装也就是自动属性如下举例
private m_one;
public _disibledevent=}
这种方式只需写第句代码然后用Visual StudioRefactor-Encapsulate Field功能很方便也早已经为大家熟
知而在C# 3.0中我们只需要写成如下句就可以了
public Dne { get; ; }// Auto-implemented properties
可以看出C# 3.0中这种自动属性对C# 2.0中属性写法作了大大简化C# 3.0自动属性就不需要创建私有变量
而把这个工作交给编译器代劳!当然如果需要在获取访问器get或设置访问器里头添加些逻辑扩展也很方便
2、对象值设定项
使用对象值设定项可以在创建对象时向对象任何可访问字段或属性分配值而无需显式构造对象值设定项我
在很多地方看到其名称又叫对象化器看例子以前我们首先定义个类
public MyClass
{
public Number { get; ; }
public Name { get; ; }
public MyClass
{
}
public MyClass( ID)
{
Number = ID;
}
public MyClass( ID, Name)
{
Number = ID;
Name = Name;
}
}
然后个对象并对其属性化
public void Object
{
MyClass cobject = MyClass;
cobject.Name = yy;
cobject.Number = 1111;
MyClass dobject = MyClass(1111);
dobject.Name = yy;
MyClass eobject = MyClass(1111,yy);
}
现在在C# 3.0中利用对象化器个对象并对可以访问属性化只需要如下句代码
MyClass nobject = MyClass{Name = yy,Number = 1111};
从本质上讲对象化器只是简化了代码编写工作后台编译器自动完成转换对象化器实际上利用了编译器对对
象中对外可见字段和属性进行按序赋值在编译时还是隐式了构造对字段或属性进行逐赋值如果个类成员又是个
类仍旧可以用象化器设置更复杂嵌套(nested)属性类型如把MyClass再加个属性
public OClass oMember { get; ; }
该属性类定义如下
public OClass
{
public addr { get; ; }
public zip { get; ; }
public OClass
{
}
public OClass( address, zipCode)
{
this.addr = address;
this.zip = zipCode;
}
}
然后在Object思路方法中个新对象完全可以这样做
MyClass nestobject = MyClass
{
Name = yy,
Number = 1111,
oMember = OClass
{
addr = neijiang,
zip = 404045
}
};
使用了这么多需要注意也还是有
自动属性中get和后都有分号花括号后边没有 2在对象化器使用中花括号中对各个属性赋值时用
您可能关注的文档
最近下载
- 2025通辽科尔沁区招聘146名社区工作者考试备考试题及答案解析.docx VIP
- 2025福建莆田市城市建设投资开发集团有限公司招聘企业员工30人备考练习题库及答案解析.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(9).案例研究与实践.docx VIP
- 《乔姆斯基著《语言行为评述》A_Review_of_B._F._Skinner’s_Verbal_Behavior》.pdf
- 农牧民培训国家通用语言.pptx VIP
- 电力市场分析软件:PLEXOS二次开发_(15).电力系统规划与扩展.docx VIP
- 光大金瓯资产管理有限公司招聘笔试题库2024.pdf
- SH 3507-2011-T 石油化工钢结构工程施工及验收规范.pdf VIP
- 中国共产党党内监督条例_学习解读ppt完整版.pptx VIP
- 东郊记忆品牌手册-营销专家.pdf VIP
文档评论(0)