C#-委托数组-如何添加到字符串方法

本文关键字:添加 方法 字符串 何添加 数组 C#- | 更新日期: 2023-09-27 18:01:15

是否可以将ToString方法添加到委托数组中??如果是,如何??这是我写的代码:

public delegate string Task();
        public static void Main(string[] args)
    {
        ArrayList studentArray = new ArrayList();
        Course italianCook = new ItalianCookCourse { Teacher = "Ben Hodd" };
        Course seafoodCook = new SeafoodCookCourse { Teacher = "Harry Cotter"};
        Course sewingCourse = new SewingCourse
        {
            Teacher = "Margaret Mair",
            ChargePerStudent = scFee,
            CostPerStudent = 100.00m,
        };
        Course creativeWrite = new CreativeWritCourse { Teacher = "Mary Smith };
        Course businessWrite = new BusinessWritCourse { Teacher = "Mary Smith" };
        Task[] tasks = new Task(italianCook.ToString, seafoodCook.ToString, sewingCourse.ToString);

错误消息为"string Class.ToString(("-"需要方法名称">

由于tostring方法处理为字符串,是否可以将其添加到delagate??

C#-委托数组-如何添加到字符串方法

假设您修复了语法,解决方案将是从ToString的末尾删除((。若要基于方法创建委托,只需提供其名称。

Task[] tasks = new Task[] { Class1.ToString, Class2.ToString }

请注意,上面的代码实际上并没有编译ToString((不是一个静态方法,因此需要传入一个对象引用和函数名:

object o = new object();
Task[] tasks = new Task[] { o.ToString };