Tag: system.type

C#类型名称而不是CLR类型名称

typeof(int).Name 返回System.Int32是否有人知道返回“int”的方法

Protobuf-Net错误消息:没有为类型定义Serializer:System.Type

尝试序列化List<Tuple>时收到以下错误消息:没有为类型定义Serializer:System.Type 我尝试了两种方法,只是序列化上面的集合或序列化一个具有定义为protoMember的相同集合的类。 两者都会导致相同的错误消息。 这是不受支持的类型吗? 我认为它是受支持的,我忽略了别的东西,但也许我不正确? 感谢任何可能有助于解决此问题的指针……

如何在C#中的System.Type中返回System .__ COMObject的类型

我正在做一个程序,我想做一个reflection,但为此,我需要一个Type of Type类,对吧? 使用.GetProperties()方法……所以我尝试了这个: Type typeName = simObjects.getType(); 但.GetType()返回“System .__ COMObject”。 这没有用。 .typeof()也是如此。 我搜索并找到了另一个代码,这个代码: Type typeName = (Type)Microsoft.VisualBasic.Information.TypeName(simObjects); 但是这个方法返回一个String,我需要它在System.Type中,任何天才请帮帮我吗?

循环派生的DbContext DbSets,这样我就可以在我的DbContext对象中添加一个ClearAll()扩展

基于[ Type.IsGenericType和Type.IsGenericTypeDefinition ] [1]之间的差异,我获得了我缺少的信息,以便能够通过Reflection检索DbContext的DbSet。 但是,我现在被困在其他地方。 在下面的代码示例中,我确实成功获取了DbSetgenerics实例,但我现在希望能够在编译时将它们转换为特定的generics类型定义。 dbSet是来自我的DbContext的DbSets 之一的真实实例,但是如何将它转换为真正的类型定义? (进行第一次循环迭代,dBSet将代表DbSet – 如何在编译时对此变量强制执行此类型? 更新 :我刚刚审查了我要做的事情……恐怕没有意义/这是不可能的。 由于真实类型仅在运行时被发现,因此我无法在此之前(并且编译时间是之前的某个阶段)与真实的generics类型相关。 在任何情况下 – 我真正感兴趣的是,在编译时,IDE显示IEnumerable成员(DbSet 实现它)。 所以我真的需要把它转换为DbSet 。 这样的演员怎么样? 可能吗 ?! private static void Main(string[] args) { MyDb myDb = new MyDb(); List dbSetProperties = myDb .GetType() .GetProperties() .Where(pi => pi.PropertyType.IsGenericType && string.Equals(pi.PropertyType.GetGenericTypeDefinition().FullName, typeof(DbSet).FullName, StringComparison.OrdinalIgnoreCase)).ToList(); foreach (PropertyInfo dbSetProperty in dbSetProperties) { Type[] typeArguments […]