まず、単純化しすぎて申し訳ありませんが、私はこの問題に頭がおかしくなっています。それはうまくいくはずです-それは単純なコードであり、空想は何もありません........
私はこのオブジェクトを持っています
public class Stuff
{
private int intStuff;
private string strStuff;
public Stuff(int StuffID, string Stuff)
{
intStuff = StuffID;
strStuff = Stuff;
}
public int StuffID
{
get { return intStuff; }
set { intStuff = value; }
}
public string Stuff
{
get{return strStuff;}
set{strStuff=value;}
}
}
このクラスで使用されるもの:
public class StuffandThings
{
private List<Stuff> lstMyStuff;
public List<Stuff> StuffList
{
set { lstMyStuff = value; }
get { return lstMyStuff; }
}
public StuffandThings()
{
lstMyStuff = new List<Stuff>();
}
}
Global.asax で static として宣言されているもの <<<< これは重要かもしれません
public static StuffAndThings MyStuff;
protected void Application_Start(object sender, EventArgs e)
{
MyStuff = new StuffandThings();
}
コードで使用すると、次のようになります。
foreach (string strStuff in lstStuff)
{
objStuff = new Stuff(intStuff,strStuff);
Global.MyStuff.StuffList.Add(objStuff);
}
コンパイルされ、デバッグで実行できます (これは WCF Web サービスです)。変数 (intStuff と lstStuff) はすべて有効ですが、ブラウザーで Service.svc をクリックすると、次のエラーが表示されます。
CS1502: 'System.Collections.Generic.List.Add(Stuff)' に最適なオーバーロードされたメソッドに無効な引数が含まれています
私はこれで木のための木を見ることができないと思うし、インターウェブは役に立たなかった.
Aso、グローバル オブジェクト内の他のすべてのオブジェクトと関数は問題ありません。ほとんどの場合、ハッシュテーブルであり、この機能を追加しようとするまでコードが実行されました。ハッシュテーブルを使用しますが、キーが一意でないようにする必要があります。
何かアイデアはありますか?
ありがとう
P