in src/nms-api/Util/MessagePropertyIntercepter.cs [78:103]
protected override void SetObjectProperty(string name, object value)
{
PropertyInfo propertyInfo = this.messageType.GetProperty(name, publicBinding);
if (!name.StartsWith("NMS"))
{
base.SetObjectProperty(name, value);
}
else if (null != propertyInfo && propertyInfo.CanWrite)
{
propertyInfo.SetValue(this.message, value, null);
}
else
{
FieldInfo fieldInfo = this.messageType.GetField(name, publicBinding);
if (null != fieldInfo && !fieldInfo.IsLiteral && !fieldInfo.IsInitOnly)
{
fieldInfo.SetValue(this.message, value);
}
else
{
base.SetObjectProperty(name, value);
}
}
}