C#属性问题

[DataMember]publicboolSharingDatabase{get;set;}1.中括号里加一类似关键字的东西。2.把一个属性的get和set都设为空。这... [DataMember]
public bool SharingDatabase { get; set; }

1.中括号里加一类似关键字的东西。
2.把一个属性的get和set都设为空。
这两种写法分别是什么意思?
一般不是先定义一个成员变量,然后用属性的set,get进行读写操作的吗?
展开
 我来答
百度网友ea1c09c
2012-10-30 · TA获得超过1004个赞
知道小有建树答主
回答量:856
采纳率:0%
帮助的人:1298万
展开全部
1、中括号里面那个叫做 特性(Attribute)
是附加的声明性信息,你自定义特性,写法跟类相同,必须继承Attribute类
具体的作用自行百度,这个不是很容易说清楚,总之是 某一种声明
比如你例子中的“[DataMember]”就表示SharingDatabase这个属性“是数据协定的一部分并可由 DataContractSerializer 进行序列化”
2、{ get; set; } 这个写法是.net 3.5的一个新特性——自动属性
其实就是一种简化写法,完全等同于下面的一般写法
private bool _sharingDatabase;
public bool SharingDatabase
{
get
{
return _sharingDatabase;
}
set
{
_sharingDatabase=value;
}
}
PS:自动属性就是为了简化属性的定义方法,一般情况下声明的私有变量根本用不到,所以可以采用该简化写法
仰星睿2D
2012-10-30 · TA获得超过129个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:174万
展开全部
public bool SharingDatabase { get; set; }

这个是简化了写法 你定义的属性中 只是默认赋值和取值
并没有其他的操作 .
get 和 set 中一般会加入 对于此属性的校验 或者
比如
/// <summary>
/// 邮编
/// </summary>
public string CityCode
{
get { return _cityCode??"021"; } //如果_cityCode为null 就返回"021"字符串

set
{
if (value.Length<6)
{
throw new Exception("邮编不能小于6位"); //如果给属性赋予的值小于6位就抛出异常! 或者有其他操作.
}
_cityRemark = value;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qicornan
2013-05-10 · TA获得超过2.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:48%
帮助的人:1629万
展开全部
属性之类的,你只能使用一套(写)或(读)。
区别是:

首先,只读或只写 -

私有String _a;

公共字符串一个

{

得到{返回_a} ;/ /这是唯一的,只读

集{_a =值} ;/ /这是唯一的,只写

}

第二,读写

公共字符串被添加到确定的条件 - 一个

{

{

(1> 0)

{retrun _a} ;/ /满足条件只写

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyskey001
2013-05-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:4%
帮助的人:3625万
展开全部
例如

类CLASSA的

{私人诠释年龄;的

公共CLASSA(int构造

或公共职能的newage)

{年龄=新时代;}

公众诠释年龄

{

{返回年龄;}

}

公共无效NEWYEAR()

{

年龄+ +;

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d14e964
2012-10-30 · TA获得超过953个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:449万
展开全部
中括号里的那个是契约,是对属性、方法进行约束的,实际上是一系列重载于Attribue的基类。

get;set;是简写。

你要是有需求,应该根据自己的需求编写set、get
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式