コマンドをデバイスに送信するプロジェクトに取り組んでいます。各コマンド オブジェクトは、デバイスがサポートする特定のコマンド (サポートする dll の API によって定義される) と 1 対 1 の関係にあります。
コマンドを定義する XML ファイルがあります。メソッド名とパラメーター (名前、型、および既定値) に名前を付けます。
私のアプリケーションは XML を読み取り、コマンド オブジェクトを作成します。値に関連付けられたパラメーター名を持つパラメーター ディクショナリがあります (型ごと)。
パラメータ ディクショナリを作成するときは、まず型を作成し、次にインスタンスを作成してから、ディクショナリを更新しました。
{
theType = Type.GetType(paramType);
var newInstance = Activator.CreateInstance(theType, true);
parameterValueMap.Add(paramName, newInstance);
}
これは int などでは問題なく機能しますが、文字列型にはパラメーターなしのコンストラクターがないため、機能しません。
パラメーターなしのコンストラクターを持つ他の型が存在する可能性があるため、ソリューションを汎用的に保つ必要があります (文字列を具体的に処理するのではありません)。
誰かが解決策を手伝ってくれますか? パラメータの実際のインスタンス (および特定のケースでは文字列のインスタンス) を持たずに、パラメータを持つ型のインスタンスを作成する方法はありますか?
ありがとう -m