01/10/2018, 09:33
Thiết kế CustomAttribute tự động gọi một phương thức khác khi kết thúc method
Tôi có biết 1 thư viện cho C# có tên PortSharp.
Khi đặt Attribute của nó trước class hoặc method thì khi thực thi xong các method, property của đối tượng đó nó sẽ tự động gọi một phương thức khác mà không cần viết trong mã. Điều này tiết kiệm rất nhiều thời gian viết code cũng như số lượng code.
Bạn nào biết cách thiết kế kiểu Attribute này không xin chỉ giáo dùm
Đây là mô tả 2 kiểu code có chức năng tương tự nhau:
Của mình (dài lê thê)
class MyClass :InotifyPropertyChanged{
public PropertiChangedEventHandler PropertiChanged;
private void NotifyProperty([CallerMenberName]string name = null){
if(PropertyChanged !=null) PropertyChanged(this,....);
}
private int _ID=0;
public int ID{
get{return _ID;}
set{
_ID=value;
NotifyProperty();
}
}
}
PortSharp (ngắn và sáng sủa hơn rất nhiều)
[NotifyPropertyChanged]
class MyClass{
public int ID{get;set;}
}
Bài liên quan
Up ! Nổi lên đuê…
Cái này tương tự annotation processor trong java, nói chung là sẽ phải modify code trong khi build theo 1 ý đồ nào đó của bạn, nếu bạn không chuyên thì nên dùng các thư viện sẵn có cho dễ
À mình đang đi tìm hiểu để biết ra nó.
Thư viện kia tính phí bản quyền, close source khó kiểm soát nên không muốn dùng.