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

C# 我可以为System.IO.Path类创建扩展方法吗?,c#,.net,.net-4.0,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).ToLowerInv

如何为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";
}
但当编译上述代码时,方法get error('System.IO.Path':静态类型不能用作参数)


谢谢大家,

路径是静态的,因此您无法为它创建扩展方法。扩展方法需要对象的实例。

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

功能请求已提交给Microsoft
它没有实现,他们可能会考虑它在未来或不可能。

不可能-但是这个答案有一个锻炼可能适合你的需要。你可以说你做错了,你从来没有在你的代码中使用sPath参数。也没有办法让你知道如何使用它。因此,扩展方法没有意义,它不会扩展任何东西。请注意,“不会修复”并不一定意味着“永远不会修复”。这只是意味着微软决定现在时机不对。我以前见过“无法修复”的案例,但最终被修复/更改了,所以这不是“从不”。我不一定同意这种结案方式,但这可能会减少他们的噪音,我还有一些其他产品的未结案件,他们每周左右都会收到奇怪的“我也想要这个”,把我的邮箱弄得乱七八糟。我只能想象开发人员邮箱在这样一个系统中会是什么样子。谢谢@LasseV.Karlsen,我没有意识到这一点。将编辑我的回答仅供参考,该链接不再链接到任何有意义的内容。