轻松学习C#的属性

属性是提供对对象或类的特性进行访问的成员。属性提供功能强大的方法将声明信息与C#代码(类型,方法,属性等)相关联。属性的设置包括字符串的长度,字体的大小,窗口的焦点,用户的名字等。
        使程序员可以创造新的声明信息的种类,称为属性。属性是对现实世界中实体特征的抽象,是为访问自定义类型的注释信息提供通用的访问方式。属性使类能够以一种公开的思路方法获取和设置值,同时隐藏实现或验证代码。C#的属性具有保护功能,可以让用户像访问域一样访问属性。
        属性包括字符串各种信息和字符串有关联类型的命名成员,相同的是,语法相同,不同的是,属性不设置存储位置。属性是域的自然扩展。属性提供功能强大的方法以将声明信息与C#代码(类型,方法,属性等)相关联。属性可在运行时查询,并可以以任意多种方式使用。
        属性是通过属性类的声明定义的,属性类可以具有定位和命名参数。属性“”是使用属性说明符加到C#程序中的实体上的,而且可以在运行时作为属性实例来检索。
        属性的“设置”(Set)方法和“获取(Get)”方法包含在属性声明中,Get属性访问器用于返回属性值,而Set访问器用于分配新值。
        就用例子来看看属性的定义和使用
 一、在同一界面中实现属性的定义和使用

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 属性
{
 class Program
 {
  static void Main(string[] args)
  {
   Text ct = new Text("张三");//创建Text的对象ct,并且调用带参数的构造函数
   Console.WriteLine(ct.Name);
   ct.Name = "李四";//为Name属性赋值
   Console.WriteLine(ct.Name);
   Console.ReadLine();
  }
 }
 class Text//新创建的一个属性类
 {
  private String name = string.Empty;//定义的类的私有成员
  public Text()//无参数的构造函数
  {
   Console.WriteLine("测试类");
  }
  public Text(string name)//带一个参数的构造函数
  {
   this.name = name;//赋值
  }
  public String Name//定义属性
  {
   get { return name; }//获取值
   set { name = value; }//设置值
  } 

 }
}
</span> 

二、在同一命名空间下的创建属性类并且使用属性

(1)在打开的主窗口右击你所创建的属性类,选中添加,再选中新建项

(2)在打开的窗口中选中类并且重新定义类名为Text

(3)在新建的类中粘贴属性类的代码段

(4)在Program类中粘贴所属于它的代码段,点击运行与上述结果相同

三、在不同的命名空间中实现定义属性和属性的使用

(1)在创建的主窗口右方的右击解决方案,单击添加,再单击新建项目,出现一个新的窗口

(2)在新的窗口中继续点击控制台应用程序,然后改命名空间为属性类,单击确定

(3)在创建的属性类命名空间中按照下面的图片中示例进行代码的补充和输入

(4)在创建的第一个命名空间属性中进行右击引用,单击添加引用,出现新的窗口

(5)在新出现的窗口,单击你所要添加的属性类的命名空间,然后单击确定

(6)在第一个创建的属性命名空间中进行下面图片的输入,最后运行结果和上述两个程序一样

以上就是关于C#的属性介绍,希望对大家的学习有所帮助。

(0)

相关推荐

  • C#属性(Attribute)用法实例解析

    属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变.本文就以实例形式分析了C#中属性的应用.具体入戏: 一.运用范围 程序集,模块,类型(类,结构,枚举,接口,委托),字段,方法(含构造),方法,参数,方法返回值,属性(property),Attribute [AttributeUsage(AttributeTargets.All)] public class TestAttribute : Attribute { } [TestAttribute]//结构

  • C#利用反射来判断对象是否包含某个属性的实现方法

    本文实例展示了C#利用反射来判断对象是否包含某个属性的实现方法,对于C#程序设计人员来说有一定的学习借鉴价值. 具体实现代码如下: /// <summary> /// 利用反射来判断对象是否包含某个属性 /// </summary> /// <param name="instance">object</param> /// <param name="propertyName">需要判断的属性</par

  • C#中属性和成员变量的区别说明

    一个类,有时候搞不清楚到底用成员变量还是属性. 如: 成员变量 public   string   Name; 或者用属性 private   string   name public   string   Name{         get         {                 return   name;         }         set         {                 name   =   value;         } } 属性与成员变量类似

  • C#实现ProperTyGrid自定义属性的方法

    本文实例讲解了C#实现ProperTyGrid自定义属性的方法,分享给大家供大家参考.具体方法如下: 一般来说,C#如果要实现自定义属性必须要需要实现接口ICustomTypeDescriptor,具体实现方法如下: // 摘要: // 提供为对象提供动态自定义类型信息的接口. public interface ICustomTypeDescriptor 示例如下: /// <summary> /// 自定义属性对象 /// </summary> public class MyAt

  • 详解C#中的属性和属性的使用

    属性 属性是一种成员,它提供灵活的机制来读取.写入或计算私有字段的值.属性可用作公共数据成员,但它们实际上是称为"访问器"的特殊方法.这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性. 在此示例中,TimePeriod 类存储时间段.该类在内部以秒为单位存储时间,但是名为 Hours 的属性允许客户端以小时为单位指定时间. Hours 属性的访问器执行小时与秒之间的转换. class TimePeriod { private double seconds; public dou

  • C#实现获取不同对象中名称相同属性的方法

    本文实例讲述了C#实现获取不同对象中名称相同属性的方法.分享给大家供大家参考.具体如下: [两个类] class demo1 { public string Name { get; set; } public int Age { get; set; } } class demo2 { public string Name { get; set; } public string Address { get; set; } } [初始化数据] List<object> list = new Lis

  • C#中使用反射遍历一个对象属性及值的小技巧

    总结: 对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): 复制代码 代码如下: Type t = tc.GetType();//获得该类的Type //再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了 foreach (PropertyInfo pi in t.GetProperties()) {     object value1 = pi.GetValue(tc, null));//用pi.GetVal

  • C#类中的属性使用总结(详解类的属性)

    复制代码 代码如下: private int dd;  public int dd  {      get{ return xx*3;}      set{ xx = value/3;}  } 没有set的属性是一种只读属性,没有get的访问器是一种只写属性.(1) get访问器用来返回字段或者计算 并返回字段,它必须以return或者throw终结. 复制代码 代码如下: private string name;  public string Name  {      get      { 

  • C#类中属性与成员变量的使用小结

    属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已. 使用中注意问题:1.属性名和变量名不能相同, 2.一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些 3.属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法: 复制代码 代码如下: public int b //定义一个属性b  {      get   {    return b;   }   set   {    b = val

  • C#索引属性用法实例分析

    本文实例讲述了C#索引属性的用法.分享给大家供大家参考.具体如下: 这里演示C#类如何声明索引属性以表示不同种类事物的类似数组的集合. // indexedproperty.cs using System; public class Document { // 以下类型允许文档的查看方式与字的数组一样: public class WordCollection { readonly Document document; // 包含文档 internal WordCollection(Documen

  • C#实现ComboBox控件显示出多个数据源属性的方法

    本文实例讲述了C#实现ComboBox控件显示出多个数据源属性的方法.分享给大家供大家参考.具体如下: public partial class Form4 : Form { private Bitmap myBitmap; public Form4() { InitializeComponent(); DataTable dt = new DataTable(); DataColumn dc1 = new DataColumn("Name", typeof(System.String

随机推荐