很明显,无论GetADynamicThing()返回的物体类型如何,在c# 4.0中,下列物体有效:
dynamic d = GetADynamicThing();
d.Foo();
如果操作时间序列的 d不含一种方法Foo(),则投了“RuntimeBinderException。
是否有“<><>>><>>>> />>> 以确定“Foo(......)”是否存在于d?
否则,我们又不停地对目标进行旧的学校思考,或依靠尝试捕获物。 不能肯定我喜欢这两种做法。
<>Update: 因此,我们现在有三个选择:
- Reflection
- Catch Exception
- Hope GetADynamicThing() returns what you expect it to return
第3号似乎是有针对性地使用动态的,在。 我问这个问题的起因是回答: