C#常用到的特性大全(持续更新)

目录

当问到特性是什么的时候,有个解释是这样的。

JsonProperty Attribute

[Required]

 


 

写代码总会碰到各种各样的特性,经常会忘了是什么,干脆就做个记录吧。

当问到特性是什么的时候,有个解释是这样的。

特性它什么都不干,只是给类(或者方法,属性等)贴一个小标签。这个标签可以用反射API检索到。如果你不去检索,和没有这个特性没有任何区别。

当然了,当你使用一种现成的框架库,比如EF,或者MVC,框架本身会去检索这些特性,并且做出某种行为,只是你没看到,因为它本来就存在一样。这好比,在有供电的房间中,你将电器的电源线插入插座,就能工作。你不明白之所以插座里面有电,是因为里面有电线,最终和发电厂相连。你在没有电的农村,光是在墙上装一个插座,你说能让电器工作么?


JsonProperty Attribute

1.用来指定序列化时的名称


 public class Man 
    {  
        [JsonProperty("Chinese name")]  
        public string Name { get; set; }  
    }  
 class Program  
    {  
        static void Main(string[] args)  
        {  
            Man m = new Man 
            {  
                Name = "秀儿"              
            };  
  
            string json = JsonConvert.SerializeObject(m, Formatting.Indented);  
            Console.WriteLine(json);  
        }  

而运行结果是

[{
	"Chinese name": "秀儿"
}]

说白了就是用来改变json格式中的名称/值中的名称,此外还可以使用JsonPropertyAttribute序列化升序排序属性,格式如

       [JsonProperty(Order=3)]  
        public string Name { get; set; }  
  
        [JsonProperty(Order=1)]  
        public string Age{ get; set; }  
          
        public int ReleaseYear { get; set; }  
  
        [JsonProperty(Order=-2)]  
        public string Weight{ get; set; } 

出来的json也会按顺序排列

[Required]

这个特性是告诉别人这个字段是必须的

        /// <summary>
        /// ID
        /// </summary>
        [Required]
        public long Id { get; set; }

[MaxLength(100)]

        /// <summary>
        /// 文件URL
        /// </summary>   
        [MaxLength(100)]
        public string fileUrl { get; set; }

MaxLength特性就跟翻译过来的意思一样,限制字段长度的,这里是100.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值