使用擴充套件方法實現列舉型別與數值型別的相互轉換

2022-09-06 06:48:09 字數 945 閱讀 7277

簡單的說,擴充套件方法可以為某個型別t的所有例項都擴充套件出n個方法,並且t可以是值型別。

為型別t擴充套件方法的步驟:

1. 定義乙個靜態類

2. 往類中新增靜態方法,其第乙個引數為this t anyname,後面再是實際的方法引數

為int擴充套件方法add示例:    

view code

namespace extensionmethods}}

using extensionmethods;

……int i = 1;

int total = i.add(100);

對於資料庫中的狀態、型別等字段,在程式中往往會用列舉來表示,或許擴充套件方法可以幫助我們完成二者的相互轉換——  

view code

#region 定義列舉型別

enum moneytype

enum ***

#endregion

static

class extention

public

static

int toint(this *** t)

#endregion

#region 為int擴充套件方法:to%列舉型別%

public

static moneytype tomoneytype(this

int i)

public

static *** to***(this

int i)

#endregion

}

使用:    

view code

int ***value = 1;

*** s = ***value.to***();

int monettypevalue = moneytype.dollar.toint();

參考:擴充套件方法:

列舉型別的使用方法

1.列舉的定義列舉型別定義的一般形式為 enum 列舉名 在列舉值表中應羅列出所有可用值。這些值也稱為列舉元素。例如 該列舉名為weekday,列舉值共有7個,即一周中的七天。凡被說明為weekday型別變數的取值只能是七天中的某一天。2.列舉變數的說明 如同結構和聯合一樣,列舉變數也可用不同的方式...

列舉型別的使用方法

1.列舉的定義列舉型別定義的一般形式為 enum 列舉名 在列舉值表中應羅列出所有可用值。這些值也稱為列舉元素。例如 該列舉名為weekday,列舉值共有7個,即一周中的七天。凡被說明為weekday型別變數的取值只能是七天中的某一天。2.列舉變數的說明 如同結構和聯合一樣,列舉變數也可用不同的方式...

列舉型別的使用方法

1.列舉的定義列舉型別定義的一般形式為 enum 列舉名 在列舉值表中應羅列出所有可用值。這些值也稱為列舉元素。例如 該列舉名為weekday,列舉值共有7個,即一周中的七天。凡被說明為weekday型別變數的取值只能是七天中的某一天。2.列舉變數的說明 如同結構和聯合一樣,列舉變數也可用不同的方式...