C 讀取靜態類常量屬性和值

2021-10-03 09:13:47 字數 850 閱讀 4925

1.背景

最近專案中有乙個需求需要從使用者輸入的值找到該值隨對應的名字,由於其它模組已經定義了乙份名字到值的一組常量,所以想借用該定義。

2.實現

實現的思路是採用c#支援的反射。

首先,給出靜態類中的常量屬性定義示例如下。

public

static

class

fruitcode

其次,編寫提取該靜態類常量name和值的方法,如下所示。
type t =

typeof

(fruitcode)

; fieldinfo[

] fis = t.

getfields()

;// 注意,這裡不能有任何選項,否則將無法獲取到const常量

dictionary<

int,

string

> dicfruitcode =

newdictionary

<

int,

string

>()

;foreach

(var fieldinfo in fis)

foreach

(var item in dicfruitcode)

=",item.value,item.key)

;}

如期,實現了所需要的目的,如圖所示。

C 手稿 類的靜態和常量成員

物件成員的宣告前加static即可定義為靜態成員,靜態成員必須在宣告類的檔案中進行宣告 通常會初始化 否則鏈結錯。訪問靜態成員可以通過類名,也可以通過物件名。class cperson int cperson count 0 cpersonp1,p2 p1 p3 newcperson cout cp...

類和物件 靜態屬性 靜態方法

在php中,使用關鍵字 static 修飾成員屬性和成員方法被稱為靜態屬性和靜態方法。靜態屬性和靜態方法不需要在類被例項化的情況下可以直接使用。與普通的成員屬性不同,靜態屬性屬於類本身而不屬於類的任何例項。靜態屬性可以被看做是儲存在類當中的全域性變數,可以在任何地方通過類來訪問它們。由於靜態屬性不受...

C 靜態常量和動態常量的區別

c 擁有兩種不同的常量 靜態常量 compile time constants 和動態常量 runtime constants 它們有不同的特性,錯誤的使用不僅會損失效率,還可能造成錯誤。相比之下,靜態常量在速度上會稍稍快一些,但是靈活性卻比動態常量差很多。靜態常量 隱式是靜態的 public co...