我可以为System.IO.Path类创建扩展方法吗?

时间:2013-07-17 20:19:04

标签: c# .net .net-4.0

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

全部谢谢,

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

功能请求已提供给Microsoft Static extension methods in C# 4.0  它没有实施,他们可能会考虑将来或不会。