假设我使用的是这种模式的struct Able{ virtual void do() = 0; };
struct A : Able{
/* no dynamic_cast for me */
void do() override{}
};
struct Able2{ void do2() = 0; };
struct B : A,Able2{
/* no dynamic_cast for me */
void do2() override{}
};
Able *b = new B;
assert(dynamic_cast<Able2*>(b));
assert(dynamic_cast<A*>(b) == nullptr);
assert(dynamic_cast<B*>(b) == nullptr);
输入类型:
DateWindow
其中type DateWindow {
startDate: ISODate
endDate: ISODate
}
是从字符串解析为Date对象的标量类型。我需要检查在每个使用ISODate
类型的地方,startDate
比endDate
更早。
DateWindow
在我的应用程序查询中被大量使用,并且我强烈希望不需要记住为出现在其中的每个查询手动检查其两个值。
在DateWindow
标量中,我可以在使用类型的ISODate
方法解析输入值时检查输入值的有效性。解析后,Apollo是否提供与“复合”类型中的健全性检查值类似的功能?