本文整理汇总了C#中Genetibase.NuGenHL7.parser.NuGenModelClassFactory.getTypeClass方法的典型用法代码示例。如果您正苦于以下问题:C# Genetibase.NuGenHL7.parser.NuGenModelClassFactory.getTypeClass方法的具体用法?C# Genetibase.NuGenHL7.parser.NuGenModelClassFactory.getTypeClass怎么用?C# Genetibase.NuGenHL7.parser.NuGenModelClassFactory.getTypeClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Genetibase.NuGenHL7.parser.NuGenModelClassFactory
的用法示例。
在下文中一共展示了Genetibase.NuGenHL7.parser.NuGenModelClassFactory.getTypeClass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: fixOBX5
/// <summary> Sets the data type of field 5 in the given OBX segment to the value of OBX-2. The argument
/// is a Segment as opposed to a particular OBX because it is meant to work with any version.
/// </summary>
public static void fixOBX5(Segment segment, ModelClassFactory factory)
{
try
{
//get unqualified class name
Primitive obx2 = (Primitive) segment.getField(2, 0);
Type[] reps = segment.getField(5);
for (int i = 0; i < reps.Length; i++)
{
Varies v = (Varies) reps[i];
if (obx2.Value == null)
{
if (v.Data != null)
{
if (!(v.Data is Primitive) || ((Primitive) v.Data).Value != null)
{
throw new NuGenHL7Exception("OBX-5 is valued, but OBX-2 is not. A datatype for OBX-5 must be specified using OBX-2.", NuGenHL7Exception.REQUIRED_FIELD_MISSING);
}
}
}
else
{
//set class
System.Type c = factory.getTypeClass(obx2.Value, segment.Message.Version);
// Class c = Genetibase.NuGenHL7.parser.Parser.findClass(obx2.getValue(),
// segment.getMessage().getVersion(),
// "datatype");
v.Data = (Type) c.GetConstructor(new System.Type[]{typeof(Message)}).Invoke(new System.Object[]{v.Message});
}
} // for reps
}
catch (NuGenHL7Exception e)
{
throw e;
}
catch (System.Exception e)
{
throw new NuGenHL7Exception(e.GetType().FullName + " trying to set data type of OBX-5", NuGenHL7Exception.APPLICATION_INTERNAL_ERROR, e);
}
}