C#之MVC3繼續整理問題,
1、注釋驗證
[EmailAddress(ErrorMessage = "×")],用的MVC3框架,此處報錯,找不到類“EmailAddress”,看到原文有using System.ComponentModel.DataAnnotations.Schema;但引用的時候同樣報錯,using System.ComponentModel.DataAnnotations前面沒有錯,直到加上Schema後就開始報錯了。於是直接改成[RegularExpression(
@"(\w)+(\.\w+)*@(\w)+((\.\w+)+)"
,ErrorMessage =
"{0}格式不正確"
)]
2、new
public new string Password { get; set; }
new,是用來改變一個方法或是一個屬性,在其基類中所實現的行為的。
具體在程序片段中: public new string Password
Password,是當前派生類的一個 返回string類型的屬性,這個屬性是繼承而來的,如果不想這個屬性如其在基類中所定義的那樣實現,可以覆寫這個屬性:public string Password
注意,上面是沒有加new的,這樣寫沒有問題,但是編譯器會發出警告(它擔心你不小心覆寫了基類的Password屬性),為了不讓編譯器發出警告(也表明你的確是想覆寫這個屬性),你可以加上new,就像這樣:public new string Password
如此,編譯器就知道,你很清楚,是在覆寫該屬性,也就不會報警了。
3、/// <summary>
https://msdn.microsoft.com/zh-cn/library/5ast78ax.aspx
eg:
/// <summary>
///取超連接參數值
/// </summary>
/// <param name="i_Parameter">超連接參數名</param>
/// <param name="i_defValue">當取值為""時設置的默認值</param>
/// <returns>返回超連接參數值</returns>
public static string GQ(string i_Parameter, string i_defValue){}
這是一個完整的寫法, summary這是指明函數的一些參數說明,在vs軟件裡當你使用這個函數時,他便會有代碼提示的
param裡的name就設置成你函數的參數名啦
/// <param name="i_defValue">當取值為""時設置的默認值</param>
這樣寫便知道在使用哪個參數了,i_defValue對應你下面函數裡的一個參數名,當取值為""時設置的默認值是提示內容
4、return default(T)
default 為泛型代碼中的默認關鍵字
給定參數化類型 T 的一個變量 t,只有當 T 為引用類型時,語句 t = null 才有效;只有當 T 為數值類型而不是結構時,語句 t = 0 才能正常使用。解決方案是使用 default 關鍵字,此關鍵字對於引用類型會返回空,對於數值類型會返回零。對於結構,此關鍵字將返回初始化為零或空的每個結構成員,具體取決於這些結構是值類型還是引用類型。以下來自 GenericList<T> 類的示例顯示了如何使用 default 關鍵字。