C#属性与索引器如何实现自定义

avatar
作者
猴君
阅读量:0

在C#中,属性(Properties)和索引器(Indexers)都可以用来实现自定义的访问方式。下面分别介绍如何使用它们来实现自定义。

  1. 属性(Properties)

属性是一种特殊的成员,它允许你在外部通过一个简单的名称访问类的内部成员。要创建一个属性,你需要定义一个访问器(accessor)和一个后备字段(backing field)。访问器可以是get或set访问器,分别用于读取和修改属性的值。

下面是一个简单的属性示例:

public class Person {     // 后备字段     private string _name;      // get访问器     public string Name     {         get { return _name; }     }      // set访问器     public void SetName(string value)     {         _name = value;     } } 

使用属性:

Person person = new Person(); person.SetName("John"); Console.WriteLine(person.Name); // 输出 "John" 
  1. 索引器(Indexers)

索引器允许你通过一个类似于数组的方式访问类的实例。要创建一个索引器,你需要定义一个get和/或set访问器,以及一个表示索引的参数。

下面是一个简单的索引器示例:

public class CustomCollection {     // 后备字段,类型为object[]     private object[] _items;      // 索引器get访问器     public object this[int index]     {         get         {             return _items[index];         }         set         {             _items[index] = value;         }     } } 

使用索引器:

CustomCollection collection = new CustomCollection(); collection[0] = "Hello"; collection[1] = "World"; Console.WriteLine(collection[0]); // 输出 "Hello" Console.WriteLine(collection[1]); // 输出 "World" 

通过这两种方法,你可以实现自定义的访问方式,使得类的实例更容易使用和理解。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!