public Variant ReadVariant(string fieldName)
{
Variant value = new Variant();
if (BeginField(fieldName, true))
{
PushNamespace(Namespaces.OpcUaXsd);
if (BeginField("Value", true))
{
try
{
TypeInfo typeInfo = null;
object contents = ReadVariantContents(out typeInfo);
value = new Variant(contents, typeInfo);
}
catch(Exception ex)
{
Utils.Trace(ex, "Error reading variant.");
value = new Variant(StatusCodes.BadEncodingError);
}
EndField("Value");
}
PopNamespace();
EndField(fieldName);
}
return value;
}