AI智能
改变未来

C# Partial类Demo①

关于partial类 以及partial方法来添加狗子信息
①partial方法只能声明在partial类中
②partial方法使用的时候可以在主题类中进行声明,声明的时候前面不能有访问性修饰符virtual abstract override new sealed或extern
③当partial方法没有寻找到匹配的方法的时候不会被调用
④partial类声明的一般为静态类或者私有类

Demo:
一个学生类,有一个Name属性,修改后打印修改的值

partial class Student {private string _name;//分布方法声明partial  void PropertyChangedNotify(string name,string originalName,string value);public string Name{get{return _name;}set{PropertyChangedNotify(\"Name\",\"_name\",value);_name = value;}}}}

在另一个地方实现方法体

partial class Student {//分布方法,方法体partial void PropertyChangedNotify(string name, string originalName, string value) {Console.WriteLine($\"{name}的属性源为{originalName},修改的属性为{value}\");}}

注意的是没有实现分布方法的时候,给属性赋值的时候并不会调用PropertyChangedNotify()
可以使用这种技巧,简易的做一个钩子,当某些方法调用的时候,调用的一个分布方法,这个分布方法的具体实现,由具体的需求确认。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C# Partial类Demo①