private TypeInfo GetLocalTypeInfo(TypeInfo remoteType)
{
BuiltInType localBuiltInType = BuiltInType.Null;
switch (remoteType.BuiltInType)
{
case BuiltInType.Guid:
case BuiltInType.XmlElement:
case BuiltInType.NodeId:
case BuiltInType.ExpandedNodeId:
case BuiltInType.QualifiedName:
case BuiltInType.LocalizedText:
{
localBuiltInType = BuiltInType.String;
break;
}
case BuiltInType.StatusCode:
{
localBuiltInType = BuiltInType.UInt32;
break;
}
case BuiltInType.ExtensionObject:
{
localBuiltInType = BuiltInType.ByteString;
break;
}
default:
{
localBuiltInType = remoteType.BuiltInType;
break;
}
}
return new TypeInfo(localBuiltInType, remoteType.ValueRank);
}