我有一个用户定义的类
public class Student
{
int rollno;
public getrollno()
{
return rollno;
}
}
我希望扩展方法checkifRollnoIs1()
返回true或false。
我能做到吗?我怎么能这样做?
答案 0 :(得分:5)
以下是编写一种方法的一种方法:
public static class StudentExtensions
{
public static bool checkifRollnoIs1(this Student s)
{
return s.getrollno() == 1;
}
}
顺便说一下 - 扩展方法实际上没有添加到类中,它们就是这样出现的(intellisense magic)。
答案 1 :(得分:0)
是的,您可以添加扩展方法。
public static class MyExtensions
{
public static bool checkifRollnoIs1(this Student student)
{
return student.getrollno() == 1;
}
}
虽然如果您有权访问源代码,为什么还需要扩展方法?
答案 2 :(得分:0)
您可以为“any”对象添加扩展方法,该方法可以传递给静态方法进行某些操作。
对于编译器,扩展方法只不过是一个静态方法。
如果你有“CheckIfRollNoIs1”的扩展方法,那么就是你的电话,
studentObj.CheckIfRollNoIs1()
转换为,
StudentExtensions.CheckIfRollNoIs1(studentObj)