静态类怎么扩展方法
静态类如何扩展方法
我知道通过扩展方法对非静态类进行扩展
如:
但是假如Class1是个静态类,是无法用作this参数的。有没有其他的办法呢?
因为我要为一个第三方的静态类增加几个方法。
------解决方案--------------------
扩展方法说白了只是一种语法上简洁,在逻辑上是可以替代的。
------解决方案--------------------
你可以用 部分方法,
知道有部分类,
部分方法也可以的。
------解决方案--------------------
扩展方法就是方便直接对某类型的值进行某种操作
你现在是静态类的,还扩展方法干啥,直接再定义一个静态类,把方法加到这个静态类里
------解决方案--------------------
静态类不能拓展方法,而且也用不着。
附上实例类的拓展方法
我知道通过扩展方法对非静态类进行扩展
如:
static class MyExtensionMethods
{
internal static void Print(this Class1 c)
{
}
}
但是假如Class1是个静态类,是无法用作this参数的。有没有其他的办法呢?
因为我要为一个第三方的静态类增加几个方法。
------解决方案--------------------
扩展方法说白了只是一种语法上简洁,在逻辑上是可以替代的。
------解决方案--------------------
你可以用 部分方法,
知道有部分类,
部分方法也可以的。
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;
}
}
}