C#属性问题
[DataMember]publicboolSharingDatabase{get;set;}1.中括号里加一类似关键字的东西。2.把一个属性的get和set都设为空。这...
[DataMember]
public bool SharingDatabase { get; set; }
1.中括号里加一类似关键字的东西。
2.把一个属性的get和set都设为空。
这两种写法分别是什么意思?
一般不是先定义一个成员变量,然后用属性的set,get进行读写操作的吗? 展开
public bool SharingDatabase { get; set; }
1.中括号里加一类似关键字的东西。
2.把一个属性的get和set都设为空。
这两种写法分别是什么意思?
一般不是先定义一个成员变量,然后用属性的set,get进行读写操作的吗? 展开
5个回答
展开全部
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:自动属性就是为了简化属性的定义方法,一般情况下声明的私有变量根本用不到,所以可以采用该简化写法
是附加的声明性信息,你自定义特性,写法跟类相同,必须继承Attribute类
具体的作用自行百度,这个不是很容易说清楚,总之是 某一种声明
比如你例子中的“[DataMember]”就表示SharingDatabase这个属性“是数据协定的一部分并可由 DataContractSerializer 进行序列化”
2、{ get; set; } 这个写法是.net 3.5的一个新特性——自动属性
其实就是一种简化写法,完全等同于下面的一般写法
private bool _sharingDatabase;
public bool SharingDatabase
{
get
{
return _sharingDatabase;
}
set
{
_sharingDatabase=value;
}
}
PS:自动属性就是为了简化属性的定义方法,一般情况下声明的私有变量根本用不到,所以可以采用该简化写法
展开全部
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;
}
}
这个是简化了写法 你定义的属性中 只是默认赋值和取值
并没有其他的操作 .
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
属性之类的,你只能使用一套(写)或(读)。
区别是:
首先,只读或只写 -
私有String _a;
公共字符串一个
{
得到{返回_a} ;/ /这是唯一的,只读
集{_a =值} ;/ /这是唯一的,只写
}
第二,读写
公共字符串被添加到确定的条件 - 一个
{
{
(1> 0)
{retrun _a} ;/ /满足条件只写
}
}
区别是:
首先,只读或只写 -
私有String _a;
公共字符串一个
{
得到{返回_a} ;/ /这是唯一的,只读
集{_a =值} ;/ /这是唯一的,只写
}
第二,读写
公共字符串被添加到确定的条件 - 一个
{
{
(1> 0)
{retrun _a} ;/ /满足条件只写
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如
类CLASSA的
{私人诠释年龄;的
公共CLASSA(int构造
或公共职能的newage)
{年龄=新时代;}
公众诠释年龄
{
{返回年龄;}
}
公共无效NEWYEAR()
{
年龄+ +;
}
}
类CLASSA的
{私人诠释年龄;的
公共CLASSA(int构造
或公共职能的newage)
{年龄=新时代;}
公众诠释年龄
{
{返回年龄;}
}
公共无效NEWYEAR()
{
年龄+ +;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中括号里的那个是契约,是对属性、方法进行约束的,实际上是一系列重载于Attribue的基类。
get;set;是简写。
你要是有需求,应该根据自己的需求编写set、get
get;set;是简写。
你要是有需求,应该根据自己的需求编写set、get
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询