C# で、このようなことができますか?
type typeOfInt = type(int);
int x = (typeOfInt)1;
基本的に型を変数として格納したいので、変数をキャストとして使用できます。私のパラメトリック多態性関数では、変数が2つのタイプのうちの1つである可能性があるため、これを実行しようとしています。どちらのタイプにも使用したい同じメソッドがありますが、変数タイプであるため使用できません。
public static void SetFolderOrderValue<T>(T item, int value, Report reportObject)
{
if (!item.Exists)
{
reportObject.Log("The folder \"" + item.Name + "\" does not exist.");
return;
}
try
{
item.SetProperty(folderOrderProperty, value);
item.Update();
}
catch (SPException ex)
{
reportObject.Log("An error occurred when saving changes to the folder \"" + item.Name + "\". Maybe due to concurrent changes from another user. Please try again after a minute.\n" + Report.GetErrorInfo(ex));
}
catch (Exception ex)
{
reportObject.Log("An error occured with \"" + item.Name + "\":\n" + Report.GetErrorInfo(ex));
}
}
少なくともキャストを値として格納できれば、関数に別のブール値を渡して、2 つの型のどちらであるかを示すことができます。