C# 如何从类型获取NHibernate.Type.IType?
我试着做到以下几点:C# 如何从类型获取NHibernate.Type.IType?,c#,nhibernate,hql,C#,Nhibernate,Hql,我试着做到以下几点: hibQuery.SetParameter("MyParameter", valueObject, valueType); 唯一的问题是,此方法需要在第三个参数中使用NHibernate.Type.IType,但valueType的类型为Type。如何将其转换为IType 任何TIPP的Thx sl3dg3尝试内置的NHibernateUtil.GetSerializable()方法。它接受CLR System.Type并返回相应的IType。更多文档:您可以使用NHib
hibQuery.SetParameter("MyParameter", valueObject, valueType);
唯一的问题是,此方法需要在第三个参数中使用NHibernate.Type.IType
,但valueType的类型为Type
。如何将其转换为IType
任何TIPP的Thx
sl3dg3尝试内置的
NHibernateUtil.GetSerializable()
方法。它接受CLR System.Type并返回相应的IType。更多文档:您可以使用NHibernate.NHibernateUtil
帮助类中的字段/方法。查看NHibernate.Type.TypeFactory.GetSerializableType()
方法。使用NHibernateUtil.GuessType方法
NHibernate.Type.IType type = NHibernateUtil.GuessType(typeof(T));
我尝试使用:
mapper.Type((IIdentifierType)NHibernateUtil.GetSerializable(typeof(DescribedEnumStringType))代码>并引发:`System.InvalidCastException类型的异常'发生在DAL.dll中,但未在用户代码中处理附加信息:无法将'NHibernate.type.SerializableType'类型的对象强制转换为'NHibernate.type.IIIdentifierType'类型即使DescribedEnumStringType
覆盖了必要的IIIdentifierType
成员