object
typeの単一の引数を取るメソッドを C# で実装していますSomeMethod(object argument)
。さまざまなタイプの複数のオブジェクトのコレクションをこのメソッドに渡す必要があります。インターフェイスの制限により、メソッド シグネチャを変更できません。
オブジェクト配列、 を送ろうと思っていたのobject[] myArray = new object[2]
ですが、できれば配列の各要素を強く型付けしたいです。たとえば、2 つのオブジェクトがあります。1 つは typeFoo
で、もう 1 つは ですBar
。であり、でmyArray[0]
あるFoo
と保証したい。myArray[1]
Bar
どうすればいいですか?別のコレクション型や特別なクラスを作成する方が理にかなっていますか?
更新: すべての良い答え。Tuple は最も一般的な方法に見えますが、コメントで述べたように、3.5 に制限されています。構造体は機能しますが、構造体とクラスを引数として使用することについて少し調査した後、より大きな構造体を使用すると、パフォーマンスがわずかに低下します。(ソース- ベンチマーク セクションを参照)。だから私はクラスに行くつもりです。皆さん、ありがとうございました!