c#委托、属性的理解

    技术2022-07-11  94

    c# 委托使用

    1、声明委托,用关键字delegate,如: public delegate void wt(string str); 2、实例化委托,如: public wt dg = null; dg = new wt(方法名); 3、调用委托,如: dg(“123”); 调用委托是通过使用委托对象的名称调用的,后跟()和传递给委托的参数; 如果委托对象不是由自己绑定的,而是交由调用者外部绑定的,则调用委托通过 委托名?.Invoke()调用,避免未绑定方法引起的错误。 4、绑定的方法签名必须和委托签名一致,如: public void Display(string str);

    c# 属性的使用

    属性是c#中的一等公民,借助该语言所定义的语法,开发人员能够编写出准确表达其设计意图的代码; 访问属性时,其行为类似与字段,但与字段不同,属性通过访问器实现,访问器用于定义访问属性或为属性赋值时执行的语句。

    1、自动属性,编译器生成支持该属性的字段的存储位置,如:

    public class Person { public string FirstName { get; set; } }

    2、自定义存储属性,如:

    public class Person { public string FirstName { get { return firstName; } set { firstName = value; } } private string firstName; }

    3、get访问器用于检索属性的值,set访问器用于为属性赋值时执行的语句。 4、用于验证,在set访问器中编写代码,确保某个属性的值始终有效。 5、完成特定的操作,在set访问器中,不仅完成某个属性的赋值操作,还可以完成其他操作,比如,对窗体上某些控件赋值操作,达到其设计意图的目的。如:

    public List<DataConfigItem> WitsItemSelect { set { List<DataConfigItem> lst = value; if (lst.Count != 0) { foreach (DataConfigItem s in lst) { listView2.Items.Add(new ListViewItem(new string[] { s.WitsName.ToString(), s.WitsUnit, s.WitsID })); } } } }
    Processed: 0.012, SQL: 9