コード例 #1
0
            public static ExpandableExtensionPropertyDescriptor CreateExtensionDescriptor(IORMPropertyExtension extensionElement)
            {
                ModelElement       element = extensionElement as ModelElement;
                DomainPropertyInfo extensionExpandableTopLevelPropertyInfo = element.Store.DomainDataDirectory.FindDomainProperty(extensionElement.ExtensionExpandableTopLevelPropertyId);

                // If ExtensionExpandableTopLevelPropertyGuid is invalid or Guid.Empty, FindDomainProperty returns null.
                bool readOnly = (extensionExpandableTopLevelPropertyInfo == null);

                PropertyDescriptor        descriptor;
                ExpandableObjectConverter expandableConverter;

                if (!readOnly)
                {
                    descriptor          = DomainTypeDescriptor.CreatePropertyDescriptor(element, extensionExpandableTopLevelPropertyInfo);
                    expandableConverter = new ExpandableExtensionConverter(extensionElement, descriptor);
                }
                else
                {
                    descriptor          = null;
                    expandableConverter = new ExpandableObjectConverter();
                }

                return(new ExpandableExtensionPropertyDescriptor(extensionElement, expandableConverter, readOnly, descriptor));
            }
コード例 #2
0
ファイル: ORMElementUtilities.cs プロジェクト: cjheath/NORMA
			public static ExpandableExtensionPropertyDescriptor CreateExtensionDescriptor(IORMPropertyExtension extensionElement)
			{
				ModelElement element = extensionElement as ModelElement;
				DomainPropertyInfo extensionExpandableTopLevelPropertyInfo = element.Store.DomainDataDirectory.FindDomainProperty(extensionElement.ExtensionExpandableTopLevelPropertyId);

				// If ExtensionExpandableTopLevelPropertyGuid is invalid or Guid.Empty, FindDomainProperty returns null.
				bool readOnly = (extensionExpandableTopLevelPropertyInfo == null);

				PropertyDescriptor descriptor;
				ExpandableObjectConverter expandableConverter;

				if (!readOnly)
				{
					descriptor = DomainTypeDescriptor.CreatePropertyDescriptor(element, extensionExpandableTopLevelPropertyInfo);
					expandableConverter = new ExpandableExtensionConverter(extensionElement, descriptor);
				}
				else
				{
					descriptor = null;
					expandableConverter = new ExpandableObjectConverter();
				}

				return new ExpandableExtensionPropertyDescriptor(extensionElement, expandableConverter, readOnly, descriptor);
			}