public bool AppendDataMember(StringBuilderWrapper sb, MetadataDataMember dmMeta, int dataMemberIndex)
{
if (dmMeta == null)
{
if (Config.AddDataContractAttributes)
{
sb.AppendLine(Config.AddIndexesToDataMembers
? "// @DataMember(Order={0})".Fmt(dataMemberIndex)
: "// @DataMember()");
return true;
}
return false;
}
var dmArgs = "";
if (dmMeta.Name != null
|| dmMeta.Order != null
|| dmMeta.IsRequired != null
|| dmMeta.EmitDefaultValue != null
|| Config.AddIndexesToDataMembers)
{
if (dmMeta.Name != null)
dmArgs = "Name={0}".Fmt(dmMeta.Name.QuotedSafeValue());
if (dmMeta.Order != null || Config.AddIndexesToDataMembers)
{
if (dmArgs.Length > 0)
dmArgs += ", ";
dmArgs += "Order={0}".Fmt(dmMeta.Order ?? dataMemberIndex);
}
if (dmMeta.IsRequired != null)
{
if (dmArgs.Length > 0)
dmArgs += ", ";
dmArgs += "IsRequired={0}".Fmt(dmMeta.IsRequired.ToString().ToLower());
}
if (dmMeta.EmitDefaultValue != null)
{
if (dmArgs.Length > 0)
dmArgs += ", ";
dmArgs += "EmitDefaultValue={0}".Fmt(dmMeta.EmitDefaultValue.ToString().ToLower());
}
dmArgs = "({0})".Fmt(dmArgs);
}
sb.AppendLine("// @DataMember{0}".Fmt(dmArgs));
return true;
}