我怎樣才能使擴展方法對於System.IO.Path類我的意思是我需要的東西象下面這樣:我可以爲System.IO.Path類制定擴展方法嗎?
Path.GetExtension(sFilePath)
我要讓方法:
Path.GetMimeType(sFilePath)
擴展方法:
public static string GetMIMEType(this Path sPath,string sFilePath)
{
string sExtension = Path.GetExtension(sFilePath).ToLowerInvariant();
if (sExtension.Length > 0 && dicMIMETypes.ContainsKey(sExtension.Remove(0, 1)))
{
return dicMIMETypes[sExtension.Remove(0, 1)];
}
return "unknown/unknown";
}
但是當編譯上面的代碼方法時得到錯誤('System.IO.Path':靜態類型不能用作參數)。
感謝所有,
不可能 - 但這個答案有一個可能適合您的需求的鍛鍊。 http://stackoverflow.com/questions/249222/can-i-add-extension-methods-to-an-existing-static-class –
你可以告訴你做錯了,你從來沒有真正使用* sPath *參數在你的代碼中。你也沒有辦法找出如何使用它。所以對擴展方法沒有意義,它沒有擴展任何東西。 –