为特定类型创建方法

Use*_*384 0 c# extension-methods

以下是两行代码:

XmlDocument xmlDoc = new XmlDocument(filePath);
string k = xmlDoc.XmlToString();
Run Code Online (Sandbox Code Playgroud)

我想做的是:

最初,在XmlDocument类下没有"XmlToString"方法,我该如何创建这样的方法?

wda*_*avo 5

您所指的是扩展方法,您可以通过创建一个新的静态类来包含该方法来创建自己的方法,然后使用"this"修饰符和您的类型(XmlDocument)作为第一个参数编写一个新的静态方法.EG:

public static class MyExtensionMethods
{
  public static string XmlToString(this XmlDocument doc)
  {
    return "....";
}
Run Code Online (Sandbox Code Playgroud)

}

用法:

static void Main(string[] args)
{
  XmlDocument doc = new XmlDocument();
  doc.XmlToString();
}
Run Code Online (Sandbox Code Playgroud)