私はSilverlightを使用するWindowsPhone7アプリケーションに取り組んでいます。私が探しているのは、作成したい正しいクラスの名前を含む文字列を指定して、クラスの新しいインスタンスを作成することです。以下は私が参照しているコードの概要であり、それを使用して新しいインスタンスを作成しようとしています。デバッグから、serviceClassに正しい文字列が含まれていることがわかり、それに「.cs」を追加すると、所有しているクラスの1つに直接対応するようになります。なぜ作成されないのですか?
WebViewService foundService; //From above
....
....
services.TryGetValue(mode, out foundService); //Find service
if (foundService == null)
{
string serviceClass;
serviceRegistry.TryGetValue(mode, out serviceClass); //Find serviceClass
if (serviceClass != null) //create new web service if one is found
{
try
{
//TODO: This is not working properly, should create an instance of some child class of WebViewService
foundService = (WebViewService)System.Activator.CreateInstance(Type.GetType(serviceClass+".cs"));
services.Add(mode, foundService);
}
catch
{
//But instead it always ends up here with ArgumentNullExeption
}
}
}
return foundService;
}
少しでも助けや提案をいただければ幸いです。御時間ありがとうございます!