我认为
dynamic除非您重新实现了在C#编译器中处理动态绑定的方式,否则就无法在不尝试访问变量的情况下找出变量是否具有某个成员。根据C#规范,这可能包括很多猜测,因为它是实现定义的。
因此,如果失败,您实际上应该尝试访问该成员并捕获异常:
dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame();try{ var x = myVariable.MyProperty; // do stuff with x}catch (RuntimeBinderException){ // MyProperty doesn't exist}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)