私は学校で課題のカスタムジェネリッククラスを作成しています。私は現時点で立ち往生しており、次のようなエラーで大いに助けていただきたいと思います。カスタムジェネリッククラス、メソッド名が必要です
パラメータobjを配列に追加しています。問題はobjが決して変更されないということです。したがって、配列内のすべてのインデックスを "ケーキ"しているオブジェクトがケーキと言うでしょうし、他の文字列と同じではありません。
class minlist<T>
{
T[] storage = new T[3];
public void Add(T obj)
{
if (storage.Length != 3)
{
storage[0] = obj;
storage[1] = obj;
storage[2] = obj;
storage[3] = obj;
}
私はobjを配列として作成すると問題が解決すると考えました。したがって、別のインデックスの各文字列をソートすることができます。私はケーキを0に、パイは1などに入れます。
私はpublic void add(T obj)のパラメータを編集してパブリックvoid add(T [ ] obj)
また、objのインデックスを追加しています。私は、それは通常、addメソッドで変更されたパラメータを使用せずに、次のようになり、リストに何かを追加したいメインで
storage[0] = obj[0];
storage[1] = obj[1];
storage[2] = obj[2];
storage[3] = obj[3];
。
minlist<authorinfo> aif = new minlist<authorinfo>();
aif.Add(new authorinfo("The Count of Monte Cristo","Alexandre", "Dumas", 1844));
addパラメータを[] objに変更すると、mainで次のことを行う必要があります。
minlist<authorinfo> aif = new minlist<authorinfo>();
aif.Add(new authorinfo[0]("The Count of Monte Cristo","Alexandre", "Dumas", 1844));
ここでの問題は、[0]が機能しないことです。メソッド名が期待されるエラーが表示されます。何をすべきかわからない。
ご質問が混乱している場合は申し訳ありません。
これは 'authorinfo'のクラス定義と関係します。最初のものが動作し、2番目のものが最初のものを使用しない場合、いいえ? – MoonKnight