Mono.Addins.ExtensionTree.CreateFieldData C# (CSharp) Méthode

CreateFieldData() private méthode

private CreateFieldData ( MemberInfo member, NodeAttributeAttribute at, string &name, Mono.Addins.Description.ExtensionNodeType &boundAttributeType ) : Mono.Addins.Description.ExtensionNodeType.FieldData
member System.Reflection.MemberInfo
at NodeAttributeAttribute
name string
boundAttributeType Mono.Addins.Description.ExtensionNodeType
Résultat Mono.Addins.Description.ExtensionNodeType.FieldData
        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;
        }