2016-08-27 4 views
-1

私のプログラムのコンテキストでユーザー定義のメソッド(MajorityElementOf)でArrayを拡張しようとしていた皆さん。これは、エラーを与えているコンパイルC#のプログラマで定義された部分配列クラスでArray.Sortメソッドを使用する方法?

partial class Array{ 
    public static object MajorityElementOf(int[] arr) 
    { 
     Array.Sort(arr); 
     //rest of the code 
    } 
} 

:私は次のコードを使用

'Array' does not contain a definition for 'Sort';

Sort方法Arrayのこの部分で定義されていないためそれがあってもよいです。誰もこのコードでArray.Sort(arr)メソッドを使用する方法を教えてもらえますか?

+3

このクラスのより良い名前を見つける。 –

答えて

1

あなたの問題はあなたのArrayクラスが効果的に他のクラスを隠すことです。次の例のように、この問題を回避するために、完全な名前空間を使用することができます。

System.Array.Sort(arr); 
+0

それは完全に動作します! –

1

使用

System.Array.Sort(arr); 

問題は、ユーザー定義のArrayクラスは、System名前空間内の1つのを隠していることです。

1

問題は、あなたが優先権を得るローカルコンテキスト/スコープとしてSystem.Arrayに優先しますクラス(Array)、同じ名前を使用しています。名前空間で修飾してみてください。

System.Array.Sort(arr); 
関連する問題