您的位置:首页 > 编程语言 > C#

c# 自定义扩展方法

2016-04-21 16:31 295 查看
有时我们在使用.net框架里面的某个类时,可能会出现某个类中没有我们想要的方法,那就可以给这些类自定义一些扩展方法,方便我们的使用,而不需要重复创建一个类或者对象。另外在开发中要是一个底层类已经封装好了,如果需要扩展而去重新去该类中修改内容应该也会很麻烦的,所以扩展方法是很方便。

自定义扩展方法

昨天在写代码的时候我需要将XmlDocument对象转换为XDocument对象,但是这两个类没有提供互相转化的方法,所以这就可以使用扩展方法为这两个类添加互相转换的方法,代码如下:

public static class XmlExtensions
{
public static XmlDocument ToXmlDocument(this XDocument xDocument)
{
var xmlDocument = new XmlDocument();
using (var xmlReader = xDocument.CreateReader())
{
xmlDocument.Load(xmlReader);
}
return xmlDocument;
}

public static XDocument ToXDocument(this XmlDocument xmlDocument)
{
//对XmlNode 中的 XML 数据进行快速、非缓存的只进访问
using (var nodeReader = new XmlNodeReader(xmlDocument))
{
//跳过非内容节点
nodeReader.MoveToContent();
return XDocument.Load(nodeReader);
}
}
}


这里创建了XmlExtensions静态类,在该类中创建了两个静态方法,分别是ToXmlDocument和ToXDocument,注意ToXmlDocument方法中参数中this XDocument 表示为XDocument创建的一个扩展方法,参数是 XDocument对象。同理ToXDocument方法类似。这里必须都是静态方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: