註記與補充:Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.
在《Compiler Error CS0746》一文中,針對匿名型別成員的宣告指出二種錯誤的形式與二種正確的形式,其中正確的二種形式摘錄如下:
var correct_2 = new {num = i, message = s}; // OK
正確的第一種形式並未指定成員的名稱,而正確的第二種形式則具體的指出成員的名稱是num與message。
倘若針對意圖指定給予成員的初始值撰寫Extension Method,則只能使用正確的第二種形式。
下文是錯誤的寫法,將會出現編輯時期的錯誤訊息:
a.Title.RemoveTags(),
a.Image.RemoveTags(),
a.Url.RemoveTags(),
a.Description.RemoveTags()
});
下文是正確的寫法,可以消除編輯時期的錯誤訊息:
Title = a.Title.RemoveTags(),
Image = a.Image.RemoveTags(),
Url = a.Url.RemoveTags(),
Description = a.Description.RemoveTags()
});
下文是引用HtmlAgilityPack所撰寫的Extension Method:
{
public static string RemoveTags(this String source)
{
string result = string.Empty;
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(source);
result = doc.DocumentNode.InnerText;
return result;
}
}
參考資料:
[1]Compiler Error CS0746
http://msdn.microsoft.com/en-us/library/bb397663(v=vs.90).aspx
[2]Extension Methods (C# Programming Guide)
http://msdn.microsoft.com/en-us//library/bb383977.aspx