我正在阅读一个C#项目,以在Python中实现类似的简单版本。
在代码中的某处有一个this
和is
语句,我无法弄清楚它们在一起是做什么的:
public abstract class PredictionTrial
{
...
public bool DoneSuccessfully
{
get
{
return (this is PredictionTrialSuccess);
}
}
...
}
PredictionTrialSuccess
是此类的子类。我的问题是this is
与get的结合在这里做什么?
答案 0 :(得分:3)
如果动态类型(运行时对象的具体类型)为PredictionTrialSuccess
(或其子类),则属性DoneSuccessfully
将返回true
答案 1 :(得分:-1)
这意味着可以从PredictionTrialSuccess
类型分配该类。
Python中类似的构造是:
class A(object):
def DoneSuccessfully(self):
return isinstance(self, PredictionTrialSuccess)
class PredictionTrialSuccess(A):
pass