ExtensionNodeType.FieldData CreateFieldData(MemberInfo member, NodeAttributeAttribute at, out string name, ref ExtensionNodeType.FieldData boundAttributeType)
{
ExtensionNodeType.FieldData fdata = new ExtensionNodeType.FieldData ();
fdata.Member = member;
fdata.Required = at.Required;
fdata.Localizable = at.Localizable;
if (at.Name != null && at.Name.Length > 0)
name = at.Name;
else
name = member.Name;
if (typeof(CustomExtensionAttribute).IsAssignableFrom (fdata.MemberType)) {
if (boundAttributeType != null)
throw new InvalidOperationException ("Type '" + member.DeclaringType + "' has two members bound to a custom attribute. There can be only one.");
boundAttributeType = fdata;
return null;
}
return fdata;
}