【发布时间】:2012-07-26 21:36:19
【问题描述】:
我正在尝试完成一种方法,将从接口派生的给定对象转换为也从同一接口派生的不同类型。这是为了避免必须完全重建对象。
interface IItem
{
}
class FryingPan : IItem
{
}
class CookingPan : IItem
{
}
但这里有一个问题,我不“知道”我要投射到什么类型。我只知道类型变量。这是从组合框设置的。
Type SelectedItem { get; set; }
这可以做到吗(最好不用实现IConvertable
)
【问题讨论】:
-
如果您在编译时不知道类型,您希望通过强制转换达到什么目的?
-
通俗的说;排序。所有项目都存储在一个列表中,每个项目将被放置、显示和交互,但彼此之间略有不同,但基本上都是一样的。该项目可以或应该在其他类型之间互换
-
我认为您应该描述您想要实现的目标,以便我们可以为您提供另一种观点,而不是您现在看到的问题,这似乎有点“扭曲”
-
@Nensec:听起来他们两个都应该实现
IComparable<IItem>
,此时不需要强制转换。