网站建设资讯

NEWS

网站建设资讯

C#属性的详细介绍

这篇文章主要讲解了“C#属性的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#属性的详细介绍”吧!

富县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

C# 属性示例代码

class TimePeriod  {      private double seconds;       public double Hours      {  get { return seconds / 3600; }  set { seconds = value * 3600; }      }  }   class Program  {      static void Main()      {  TimePeriod t = new TimePeriod();   // Assigning the Hours property causes   //the 'set' accessor to be called.  t.Hours = 24;   // Evaluating the Hours property causes   //the 'get' accessor to be called.  System.Console.WriteLine("Time in hours: " + t.Hours);      }  }

输出

Time in hours: 24

C# 属性特点

◆属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。

◆get属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。有关更多信息,请参见 访问器可访问性。

◆value关键字用于定义由 set 索引器分配的值。

◆不实现 set 方法的属性是只读的。

C# 泛型应用中属性:

属性可以应用于泛型类型中,方式与应用于非泛型类型相同。

自定义属性只允许引用开放泛型类型(未提供类型参数的泛型类型)和封闭构造泛型类型(为所有类型参数提供参数)。

下面的C# 属性在泛型的应用示例使用此自定义属性:

class CustomAttribute : System.Attribute  {      public System.Object info;  }

属性可以引用开放式C# 泛型类型:

public class GenericClass1 { }   [CustomAttribute(info = typeof(GenericClass1<>))]  class ClassA { }

使用数目适当的若干个逗号指定多个类型参数。

在此示例中,GenericClass2 有两个类型参数:

public class GenericClass2 { }   [CustomAttribute(info = typeof(GenericClass2<,>))]  class ClassB { }

属性可以引用封闭式构造C# 泛型类型:

public class GenericClass3 { }   [CustomAttribute(info = typeof(GenericClass3))]  class ClassC { }

引用泛型类型参数的属性将导致编译时错误:

//[CustomAttribute(info = typeof(GenericClass3))]  //Error  class ClassD { }

不能从 Attribute 继承泛型类型:

//public class CustomAtt : System.Attribute {}  //Error

若要在运行时获得有关泛型类型或类型参数的信息,可以使用 System.Reflection 的方法。

感谢各位的阅读,以上就是“C#属性的详细介绍”的内容了,经过本文的学习后,相信大家对C#属性的详细介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:C#属性的详细介绍
链接地址:http://njwzjz.com/article/jcooij.html