我在 C# 中实现了一个方法,它接受一个类型的参数object
,例如SomeMethod(object argument)
. 我需要将不同类型的多个对象的集合传递给此方法。由于接口限制,我无法更改方法签名。
我正在考虑发送一个对象数组,object[] myArray = new object[2]
但如果可能的话,我想强烈键入数组的每个元素。例如,我有两个对象,一个是 type Foo
,另一个是Bar
. 我想保证myArray[0]
isFoo
和myArray[1]
is Bar
。
我该怎么做?另一个集合类型或创建一个特殊类会更有意义吗?
更新:所有好的答案。元组看起来是最通用的方式,但正如我在评论中所说,我仅限于 3.5。结构可以工作,但是在对使用结构和类作为参数进行了一些研究之后,如果使用更大的结构,性能会受到轻微影响。(来源- 请参阅基准部分)。所以我要去上课。谢谢你们!