如何在c#中继承数组

本文关键字:继承 数组 | 更新日期: 2023-09-27 18:05:41

我需要一个包含自定义方法的数组。

MyObject[] myObject = {myA, myB, myC};
myObject.myMethod(); // do my stuff

1。这可能吗?

2。myMethod如何能够在内部访问myAmyBmyC ?

PS:很抱歉欺骗了所有投票的c#向导,在这里。但我只是从语言开始,我不知道引用问题的"枚举"。因此,我提出了一个更简单、更直接的问题,希望能对我的同类有所帮助。

如何在c#中继承数组

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;
                }
            }
        }   
    }