c# - 我可以为 System.IO.Path 类制作扩展方法吗?

标签 c# .net .net-4.0

这个问题在这里已经有了答案:





Can I add extension methods to an existing static class?

(15 个回答)


8年前关闭。




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

谢谢大家,

最佳答案

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

关于c# - 我可以为 System.IO.Path 类制作扩展方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709436/

相关文章:

c# - 即使用户更改手机时钟,也可以准确计算 Windows Phone 7 上两个 DateTimes 的差异吗?

c# - 从列表中选择所有字符串的最快方法

c# - 有没有办法加密 Windows 窗体应用程序的配置文件?

c# - System.Interactive.Async 中 IAsyncEnumerable 的鸭子枚举错误

c# - 创建安装程序包 Visual Studio 2010

c# - 如何使用 HTML 敏捷包和 XPath 删除节点以清理 HTML 页面

c# - 使用 Ninject 基于字符串创建对象

asp.net - Web 安装项目无法安装动态数据站点 : "the installer was interrupted"

c# - 我将如何创建一个程序来获取名称列表并将它们分类为偶数组?

c# - WCF 动态端点和配置依赖?