今天,同事發了個郵件說需要乙個內部使用的guid類,而不是system.guid 結構體。什麼意思呢?
例如public void test(string guidpara) 這個方法的引數是個string型別,但是是通過引數名稱告訴呼叫者是guid型別的引數,因此,他需要的應該是:
public void test(guid para), 引數型別這麼修改後,所有呼叫的地方需要統一改一遍,這不很惡。所以,實現了自定義的guid類:
1public
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 函式 解決了子類...