C 特性類 筆記

2021-10-24 07:49:18 字數 1483 閱讀 5403

conditional

obsolete

附加表示目標結構的狀態

新增乙個類,以attribute結尾

這個類繼承 system.attribute

宣告為私有類(sealed)

定義需要描述的字段和屬性

attributeusage() 裡面的值為該特性可以應用到那些結構上

attributetargets為列舉型別

[attributeusage(attributetargets.class)]//宣告標識結構

sealed class mytestattribute : system.attribute//繼承

public string name

public string age

public string ***

public mytestattribute(string str)

}

[attributeusage(attributetargets.method)] 標識乙個方法

使用特性類 [特性類名] 這裡注意的是,程式會自動忽略掉程式名後面的attribute給特性類屬性賦值: 1.建構函式 2.通過引數名賦值

[mytest("我是名字",id ="12")]

class testclass

//訪問方法應用的特性

public static void test2()

[conditional]: 標記之後,除錯**不進入此方法進行除錯
標識方法

需要通過定義乙個巨集來控制(define) 存在則進行除錯,不存在不進行除錯

#define def //方法將進行除錯

using system;

using system.diagnostics;

[conditional("def")]

public static void test()

標識方法是否被棄用

1.引數一(string):報錯資訊

2.引數二(bool):是否報錯

//提示資訊 「方法被棄用」,只產生警告

[obsolete("方法被棄用")]//方法被棄用

static void oldmethod(string str)

//提示資訊 「方法被棄用」,產生報錯

[obsolete("方法被棄用",true)]//方法被棄用

static void oldmethod(string str)

許可權驗證特性 需配合token使用

C 類的其他特性(筆記版本)

型別成員 就是類的成員是乙個型別 ok舉個例子 class peron public typedef std string zm private zm name love ke zm address anywhere 我們的person類在public部分定義了zm,這樣使用者就可以使用這個名字。因...

C 特性筆記

此處是本人對c 的一些筆記,c 高手請直接略過。翔哥看到了也請略過。函式前使用virtual修飾,表示該函式是虛函式,那麼虛函式有什麼用呢?虛函式對於程式的多型起到了很重要的作用。具體的使用簡單介紹一下 class a class b public a 然後在main函式中,我們如此呼叫 b pb ...

C 特性學習筆記

本筆記摘抄自 記錄一下學習過程以備後續查用。特性提供功能強大的方法,用以將元資料或宣告資訊與 程式集 型別 方法 屬性等 相關聯。特性與程式實體關聯後,即可在執行時使用名為 反射 的技術查詢特性。特性,如serializable,它其實就是乙個類,定義方式跟類一樣,且所有特性都是直接或間接繼承自at...