c# - 获取委托(delegate)的具体返回类型

标签 c# .net-3.5 delegates

如何找到签名为 IEnumerable<Func<ITab>> 的类型的具体类型?

我的构造函数采用上述类型以执行延迟加载。本质上,仅在需要时加载选项卡以减少启动时间。然而,每个具体Tab实现由表示选项卡名称的属性修饰。当我遍历我的列表时,我想获取委托(delegate)的具体类型,以便获取属性值。

我知道 .GetType().GetMethod("Invoke").ReturnType , 但返回 ITab .我似乎只能通过调用 Invoke() 找到具体类型.

在访问与每个具体类型相关的信息时,是否有更好的方法可以使用委托(delegate)实现延迟加载?

最佳答案

为什么在实际调用返回它的方法之前需要知道 Tab 的类型?当它返回时,您可以只使用 GetType() 然后找到属性。如果您的某个函数可以返回 ITab 的不同实现怎么办?特别是如果正确的是从数据库或 xml 等外部来源中挑选出来的。需要调用该委托(delegate)。

关于c# - 获取委托(delegate)的具体返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587806/

相关文章:

c# - 加载外部 XSLT 时发生异常

c# - 如何散列密码

c# - 在 C# 中,Lambda 表达式是对象吗?

c# - 编程显示器定位

c# - 将 Action 转换为 LambdaExpression

c# - 未找到与请求 URI 匹配的操作

c# - 说服我转向 .net 3.5(从 2.0)

c# - 如何将 PropertyChangedCallback 添加到基类的依赖属性?

c++ - 在函数指针之间转换

objective-c - <Protocol 1> 的类型不符合 <Protocol 2> -- 但它符合!