4

如何为 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':静态类型不能用作参数)。

谢谢大家,

4

2 回答 2

5

Path是静态的,因此您不能为其创建扩展方法。扩展方法需要一个对象的实例。

于 2013-07-17T20:23:31.790 回答
3

此功能目前不可用。您只能将扩展方法添加到实例而不是类本身(静态)。

功能请求已在 C# 4.0 中提供给 Microsoft静态扩展方法, 但尚未实现,他们将来可能会考虑或不考虑。

于 2013-07-17T20:35:09.550 回答