我必须将方法应用于C#中的对象,但我必须多次执行
stud1.setGrade(90); stud1.setGrade(100); stud1.setGrade(90); stud1.setGrade(50);
Run Code Online (Sandbox Code Playgroud)
你明白了......事情是我知道有办法避免这种情况,只需这样说:
stud1.setGrade(90)
.setGrade(100)
.setGrade(70);
Run Code Online (Sandbox Code Playgroud)
但我不记得在C#中是否正确,我在另一种编程语言中看到它,尽管我不记得这是否是正确的方法.
Gan*_* R. 11
为什么不将要设置的值添加到数组中,然后使用foreach调用.setGrade?
int[] values = int[] {90, 100, 70};
foreach(int value in values)
{
stud1.setGrade(value);
}
Run Code Online (Sandbox Code Playgroud)
刚SetGrade回来this.
public Student SetGrade(int grade) {
this.Grade = grade;
return this;
}
Run Code Online (Sandbox Code Playgroud)
小智 3
当 setGrade() 返回其自身的实例时,或者当您编写一个名为 setGrade() (对于类)的扩展方法来返回其自身的实例时,这应该是可能的。
public static Student SetGrade(this Student student, int value) {
student.setGrade(value);
return student;
}
Run Code Online (Sandbox Code Playgroud)
然后可以使用类似于:
stud1.SetGrade(90)
.SetGrade(100)
.SetGrade(70);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |