2

我有一个具有许多属性的类,其中一个是对象,我们称它为 ExtraData。这可以是三种不同类型中的任何一种的对象,这三种类型之间没有共享字段。

我应该创建一个所有三个对象类都实现的标记接口并使 ExtraData 属性属于该接口类型吗?我读过的所有内容都说要在 .NET 中避免这种情况,并尽可能使用自定义属性。如果我这样做,我会让 ExtraData 成为一个简单的对象并检查属性以确定它的类型吗?如果我想使用这些数据、检查属性并相应地进行转换,这似乎需要做很多额外的工作。

这是“不使用标记接口”规则的例外吗?还是我错过了一些明显的东西?

谢谢。

4

1 回答 1

1

目前还不清楚你的意图是什么。要回答您的实际问题,使用这样的接口是完全可以接受的,并且忽略该方法的智慧,如果您需要将属性的值限制为少数类型,这似乎是一种合法的方法。

但实际上,可能有更好的方法,但如果没有关于你在做什么的更多信息,我无法提出任何建议。

于 2012-04-16T14:01:48.700 回答