【发布时间】:2014-02-26 03:39:23
【问题描述】:
我的 C# 模块中有这段代码:
if (customer is IBuyer) { customer.WaiveServiceFee(); }
只要 customer 是一个实现了 IBuyer 的对象,就可以很好地编译。但是使用条件的整个想法是测试客户对象是否实现了 IBuyer。如果没有,我会收到一个编译时错误,即客户不包含 WaiveServiceFee 的定义(WaiveServiceFee 是由 IBuyer 实现产生的方法——它当然不是客户类的一部分)。
我对 C# 不够熟悉,不知道如何应用上述逻辑在运行时调用 WaiveServiceFee 并使程序可编译?
谢谢。
【问题讨论】:
标签: c# reflection interface