私はこのようなものを持っています
public void FunctionName<T>(){
}
これを呼び出すには、次のようなものが必要です
sub main(){
FunctionName<Integer>();
}
私の質問は、整数を「整数」として渡すことはできますか?
sub main(){
FunctionName<"Integer">();
}
またはそれ以外の方法はありますか
これが私の実際のコードです
private static T Convert<T>(DataRow row) where T : new()
{
T model = new T();
Type modelType = model.GetType();
FieldInfo[] fields = null;
FieldInfo field = default(FieldInfo);
Type fieldType = null;
string fieldName = null;
fields = modelType.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);
foreach ( field in fields) {
fieldType = field.FieldType;
fieldName = field.Name.Replace("_", string.Empty);
Interaction.CallByName(model, fieldName, Microsoft.VisualBasic.CallType.Set, GetValue(row, fieldName, fieldType.Name));
}
return model;
}
static void main(){
Student s;
s = Convert<Student>(DatabaseRow);
}
ここでの問題は、このコードを使用する場所から Student を文字列 ("Student") としてしか取得できないことです。これを正しく行うための他の解決策はありますか?