c#中使用反射的一个类到另一个类的数据类型
本文关键字:一个 另一个 数据类型 反射的 | 更新日期: 2023-09-27 17:53:28
我有一个class
namespace MyNamespace1
{
class MyClass
{
public string MyName { get; set; }
public int? MaxHeaderLength { get; set; }
public System.Collections.Generic.List<MyClass.ViewModel> Preferences { get; set; }
}
}
namespace MyNamespace2
{
internal class myClass1
{
public static void Main(string[] args)
{
var properties = loading assembly of the MyClass of MyNamespace1
var prop = properties.GetProperties();
foreach (var propertyInfo in prop)
{
Console.WriteLine(propertyInfo.PropertyType.FullName);
}
}
}
}
当我想在运行时使用反射读取属性时
我得到的类型是
系统。字符串,
System.Nullable ' 1[[系统。Int32, mscorlib, Version=4.0.0.0,文化=中立,都必须要]],
System.Collections.Generic.List ' 1 [[System.Web.Mvc.SelectListItem,包含。Mvc,版本=3.0.0.0,文化=中性,都31 bf3856ad364e35]]),
但是我想检索为
string,
int?,
System.Collections.Generic.List<MyClass.ViewModel>
有谁能给我提供解决方案吗?
string
, int?
和List<MyClass.ViewModel>
都是c#结构。它们不在。net中。
因此,您只需构建一个查找表或一个巨大的switch
来将类型名称转换为。net关键字。