如何使用GetType获取类的类型

用户名

在这里,我GetType()用来获取eventData如下类型

public EventDescriptor(Guid id, IEvent eventData)
{
   AggregateId = id;
   EventData = eventData;
   EventType = eventData.GetType().AssemblyQualifiedName;
}

返回:

 "EventType":  
 "Shared.Events.EntityCreatedEvent`1[[Shared.Model.Dto.EntityDto, Shared,  
  Version=1.0.6928.25697, Culture=neutral, PublicKeyToken=null]], Shared,  
  Version=1.0.6928.25697, Culture=neutral, PublicKeyToken=null"

我怎么只能Shared.Model.Dto.EntityDto从上面得到?
有没有可用的方法或财产?

尼姆罗德·多廖夫

尝试Type.FullName获得所需的东西-https: //docs.microsoft.com/de-de/dotnet/api/system.type.fullname?view=netframework - 4.7.2

因此,就您而言-

public EventDescriptor(Guid id, IEvent eventData)
 {
   AggregateId = id;
   EventData = eventData;
   EventType = eventData.GetType().FullName;
}

如果您要提取IEvent实例的通用参数的类型,则可以执行以下操作-

public EventDescriptor(Guid id, IEvent eventData)
 {
   AggregateId = id;
   EventData = eventData;
   if (!eventData.GetType().IsGenericType)
   {
       EventType = eventData.GetType().FullName;
   }
   else
   {
       // notice - this assumes we can take the FIRST generic argument, we don't check for others here
       EventType = eventData.GetType().GetGenericArguments().First().FullName;
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

GetType()如何知道派生类的类型?

如何使用参数类型获取类

java如何检查我从getType函数获取哪种类型

无法使用Type.GetType(string)获取LinkedList`T的类型

如何使用Clang获取模板类型的类成员的实际类型?

如何使用类型检查器获取接口或类扩展类型

如何使用ObservableCollection <T>中GetType返回的类型?

如何使用Javassist获取基本类型的类?

如何使用镜像获取Dart中类的属性的类型?

如何在Java中使用泛型类型获取类

如何快速将AS与开关配合使用以获取类类型

如何使用宏获取类方法的参数类型?

如何使用“ typeof”从泛型类获取类型?

如何获取引用类型的基类类型

使用反射从Java类获取类型类

如何在Activiti中获取枚举值以及Activiti中FormProperty的getType()的返回类型是什么?

如何从具有函数依赖项的类型类中获取和使用依赖项类型?

如何通过使用装饰器获取类泛型类型的运行时类型?

使用从 GetType() 派生的类型而不使用 Switch

如何从类对象获取(通用)类型

如何获取类变量和类型提示?

如何获取类实例类型签名

如何从模板类的范围中获取类型?

如何获取类成员的类型注释?

如何使用转换类型类

Flutter - Dart - Reflectable 包:如何:获取类字段类型?从类/类型实例化对象?使用 Reflectable 设置字段值

使用Java反射获取类数组的类型

使用抽象类从Collectiontype获取类型

如何从成员指针模板类型获取类类型