私は一般的なメソッドSampleMethod(param1、param2)を持っていますので、設定値に基づいてメソッドを呼び出す必要があります。たとえば、次のようになります。app.configからデータ型の値を読み取る
SampleMethod<long>(param1, param2);
SampleMethod<Guid>(param1, param2);
このメソッド呼び出しでは、設定値を変更する必要があります。私はapp.configファイルのような設定ファイルから値を取得する必要があります。
public static Type RangeType
{
get
{
Type rangeType;
string rangeDataTypeString = ConfigurationManager.AppSettings["ShardRangeType"];
switch (rangeDataTypeString.ToUpper())
{
case "LONG":
rangeType = typeof (long);
break;
case "GUID":
rangeType = typeof (Guid);
break;
default:
rangeType = typeof (long);
break;
}
return rangeType;
}
}
私はこのベースの設定値を呼び出し、同様に上記の方法には、この値を渡すしようとすると:誰かが提案する可能性があり、タイプとして認識されません
Type rangeType = Configuration.RangeType;
SampleMethod<rangeType>(param1, param2);
上記の文でrangeTypeこれを達成する方法。前もって感謝します!
「それは機能していません。」あなたの質問に答えを与えるのにはあまり役に立ちません。正確にどのようなエラーが発生しているのか教えてください。 – Sachin
少なくともパラメータをキャストする必要があります。これらが標準データ型の場合は、['Convert.ChangeType'](https://msdn.microsoft.com/en-us/library/system.convert.changetype%28v=vs.110%29.aspx) –
を使用できます。私の悪い、私は意味、rangeTypeはステートメントで認識されませんでした:SampleMethod(param1、param2); –
SteelBird82