![]() |
1
2
你会怎么做
|
![]() |
2
1
我认为这里的主要问题是你试图解决 动态的 非常的问题 静态的 (但灵活)通用编程工具。所以我看到你有两条路要走。
我会选择2。根据我的理解,我认为这将是一个更好的模型。
所以现在我们有了一个很好的模型来满足您的需求,因为它不需要泛型类型参数,所以当您迭代
|
![]() |
3
0
你是对的,错误是因为列表认为它有一堆元数据对象,所以当你迭代它时,你会得到元数据引用,为了访问在子类中定义的属性,你需要确保对象 是 子类,然后进行转换。
因此,这里您实际上只是将一个明确的编译时错误与一个潜在的运行时错误进行交易(取决于您列表中的内容)。真正的问题是:您希望如何处理所有这些不同的函数委托包装器?您希望TMP变量的类型是什么? 您也可以尝试这样的类型测试解决方案
这也可以是一个可行的解决方案,只要您确切地知道提前会有什么类型的解决方案,但是它很烦人而且容易出错。 |
![]() |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
![]() |
milczi · Swift通用无强制展开向下投射 6 年前 |
![]() |
bugs · Typescript-泛型类型扩展自身 6 年前 |
![]() |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
![]() |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
![]() |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |