如何在c#中继承数组
本文关键字:继承 数组 | 更新日期: 2023-09-27 18:05:41
我需要一个包含自定义方法的数组。
MyObject[] myObject = {myA, myB, myC};
myObject.myMethod(); // do my stuff
1。这可能吗?
2。myMethod
如何能够在内部访问myA
、myB
和myC
?
Q:这可能吗?
A:可以,但是不能从Array继承。不过,有一种不同的机制可以帮助你。
Q: myMethod如何能够在内部访问myA, myB和myC?
A:您可以使用扩展方法方法,如下所示:
static class Extension
{
public static string Extend(this Array array)
{
return "Yes, you can";
}
}
class Program
{
static void Main(string[] args)
{
int[,,,] multiDimArray = new int[10,10,10,10];
Console.WriteLine(multiDimArray.Extend());
}
}
您可以编写扩展方法,参见这里
namespace ExtensionMethods
{
public static class MyExtensions
{
public static void myMethod(this MyObject[] items)
{
foreach(var item in items)
{
//do something;
}
}
}
}