ArrayListsを引数としてC#のメソッドに渡すことはできますか?
4450 次
4 に答える
18
絶対。ただし、そうすることはめったにありません。最近では、ほとんどの場合、などのジェネリック型を使用する必要がありますList<T>
。
さらに、メソッドのパラメーターを宣言するときは、可能な場合はインターフェースを使用する価値があります。たとえば、次のようなメソッドがある場合:
public void SomeMethod(ArrayList list)
その後、それを呼び出す人は誰でも使用することを余儀なくされますArrayList
。使いたくても使えませんList<T>
。一方、メソッドを次のように宣言する場合:
public void SomeMethod(IList list)
そうすれば、コードがジェネリックを知らなくても、ジェネリックを使用できます。
于 2009-04-14T05:31:43.047 に答える
5
もちろん:
public void SomeMethod(ArrayList list)
{
// your code here
}
しかし、Jon S.が述べたように、ハードコードされたタイプの代わりにインターフェースを使用することが推奨されます。
public void SomeMethod(IList list)
{
// your code here
}
も参照してください:
于 2009-04-14T05:29:09.357 に答える
1
はい、できます。
于 2009-04-14T05:29:07.577 に答える
0
メソッドの引数として任意のタイプを渡すことができます。抽象型、インターフェース、値型など。
Jon Skeetは、インターフェースの使用について言及しています。はい、それは良いことですが、小さな落とし穴があります-その方法からその使用法に簡単にナビゲートすることはできません。
于 2009-04-14T08:37:46.080 に答える