我必须将方法应用于C#中的对象,但必须多次执行

stud1.setGrade(90);  stud1.setGrade(100);  stud1.setGrade(90);  stud1.setGrade(50);

您明白了...问题是我知道有一种避免这种情况的方法,只是这样说:
stud1.setGrade(90)
     .setGrade(100)
     .setGrade(70);

但是我不记得在C#中是否正确,我在另一种编程语言中看到了它,尽管我不记得这是否是正确的方法。

最佳答案

当setGrade()返回其自身的实例或编写名为setGrade()的扩展方法(针对该类)以返回其自身的实例的扩展方法时,这应该是可能的。

public static Student SetGrade(this Student student, int value) {
  student.setGrade(value);
  return student;
}

然后可以类似于以下方式使用:
stud1.SetGrade(90)
 .SetGrade(100)
 .SetGrade(70);

关于c# - 如何避免在C#中重复 "object.method()"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30159844/

10-13 05:38