我有下面的代碼,我正在嘗試應用自定義屬性到聲明類中的字段。我在下面的錯誤中發現了錯誤'FileType'和'AllowNulls'c#問題與自定義屬性類中聲明參數
錯誤3'FieldType'不是有效的命名屬性參數。命名屬性參數必須是不是隻讀,靜態或常量的字段,或者是公共的而非靜態的讀寫屬性。 F:\ Dropbox \ Dev_LN Projects \ 02 Scrap \ TestFieldAttributes \ TestFieldAttributes \ Program.cs 61 34 TestFieldAttributes
我試過各種組合,刪除靜態,只讀等,但沒有運氣。有什麼想法嗎?謝謝
[AttributeUsage(AttributeTargets.Field)]
public class DBDataTypeAttribute : System.Attribute
{
private string fieldtype;
public string FieldType
{
get { return fieldtype; }
}
private string allownulls;
public string AllowNulls
{
get { return allownulls; }
}
}
public class ExpenseReport
{
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
[DBDataTypeAttribute(FieldType = "varchar(1000)", AllowNulls = "true")]// errors on this line
public String UniqueID;
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String ERNum;
}
謝謝!
非常好!你完全正確 - 我刪除了只讀部分,但沒有添加'set'。也感謝替代的例子。 Allownulls本來就是一個布爾,我已經改變它以串起來看看這是否是問題的一部分。 :) – Glinkot 2011-06-12 08:36:07