自定義GUID類

2022-01-10 17:58:13 字數 1557 閱讀 1731

今天,同事發了個郵件說需要乙個內部使用的guid類,而不是system.guid 結構體。什麼意思呢?

例如public void test(string guidpara) 這個方法的引數是個string型別,但是是通過引數名稱告訴呼叫者是guid型別的引數,因此,他需要的應該是:

public void test(guid para),  引數型別這麼修改後,所有呼叫的地方需要統一改一遍,這不很惡。所以,實現了自定義的guid類:

1

public

class

guid29

10///

11///

建構函式

12///

13///

guid

14public guid(string

guid)

1518

19///

20///

建構函式

21///

22///

guid

23///

24public

static

implicit

operator guid(string

guid)

2528

29#endregion

3031

#region 屬性

3233

private

string

guidvalue;

3435

///36

///guid

37///

38public

string

value

3947

private

set4851}

5253

#endregion

5455

///56

///過載tostring方法

57///

58///

value

59public

override

string

tostring()

6063 }

單元測試下:

1

[testmethod]

2public

void

guidtest1()37

8[testmethod]

9public

void

guidtest2()

1014

15[testmethod]

16public

void

guidtest3()

1721

22private

string

getguidvalue(guid guid)

23

自然好了很多,已有程式不需要進行修改,guid在整個執行時也進行了強型別處理,有以下幾個特點:

1.guid強型別

2.guid例項快取了value成員,new 操作自動生成guid。

3.string型別隱式轉換

請大家看看需要其他的改進嗎?

自定義異常類

自定義並捕獲 一 第一種定義方式,繼承exception類 public class myfirstexception extends exception public myfirstexception string msg public myfirstexception string msg,th...

自定義異常類

除了程式裡已經定義好的標準異常類以外,還可以自定義自己的異常類,但通常也和其他標準異常類一樣派生於exception類例如對於乙個 類,如果規定當且僅當任意兩邊長度之和大於第三邊,才能試圖建立乙個三角形或者改變乙個邊長時也不要改變此性質。如果改變了丟擲乙個異常 同時每條邊不能是負數,否則也丟擲異常。...

自定義執行緒類

根據需求定義執行緒類 import threading from time import 建立執行緒類,繼承threading.thread類 初始化func,args,name等引數,這裡testthread類重寫父類threading.thread了 init 方法 super 函式 解決了子類...