读书人

静态类怎么扩展方法

发布时间: 2013-01-28 11:49:56 作者: rapoo

静态类如何扩展方法
我知道通过扩展方法对非静态类进行扩展
如:


static class MyExtensionMethods
{
internal static void Print(this Class1 c)
{
}
}


但是假如Class1是个静态类,是无法用作this参数的。有没有其他的办法呢?
因为我要为一个第三方的静态类增加几个方法。
[解决办法]
扩展方法说白了只是一种语法上简洁,在逻辑上是可以替代的。
[解决办法]
引用:
自己写个类,继承MyExtensionMethods



你可以用 部分方法,

知道有部分类,
部分方法也可以的。



public artial static void MethodName()
{
//todo
}

[解决办法]
扩展方法就是方便直接对某类型的值进行某种操作

你现在是静态类的,还扩展方法干啥,直接再定义一个静态类,把方法加到这个静态类里
[解决办法]
静态类不能拓展方法,而且也用不着。
附上实例类的拓展方法
using System;
using System.Collections.Generic;
using System.Text;

namespace 拓展方法
{
class Program
{
static void Main(string[] args)
{

Class1 class1 = new Class1();
class1.Add("");
}
}

public class Class1
{
private string str;
public string Str { get; set; }

public Class1()
{ }
}

public static class ClassAdd
{
public static void Add(this Class1 class1, string str)
{
class1.Str += str;
}
}
}

读书人网 >C#

热点推荐