AOP(面向切面編程,是繼面向對象後的一個升級編程思維,網上有很多更爲詳盡、貼切的解析,不過多的贅述),直接貼代碼,簡單分爲三步:
1.自定義自己的特性:(屬性的這裏注意AttributeUsage這個屬性,很重要)
public class TestAttribute : Attribute
{
public void DoSomething()
{
Console.WriteLine("我是這個測試特性中的一個方法,可以通過屬性的調用 方式使用我完成類似全局日誌、"+ "邏輯驗證等一系列具有相同實現方式 的模塊或者功能");
}
}
2.自定義自己的操作對象:
[TestAttribute] //測試對象中使用自己的定義的測試特性
public class TestObject
{
}
3.調用自定義對象
TestObject obj = new TestObject();
//特性不影響邏輯代碼的運行,加了特性的部分也沒有正常編譯至dll文件中,特性的文件都編譯到metdata中
//使用過程中需用通過反射來獲取
Type type = obj.GetType();
if(type.IsDefined(typeof(TestAttribute),true)) //通過反射查看當前對象是否使用自定義測試特性
{
TestAttribute attribute = type.GetCustomAttributes(typeof(TestAttribute), true)[0] as TestAttribute;
attribute.DoSomething();
}
Console.Read();
利用特性功能實現簡易的AOP日誌記錄功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.