当前位置: 首页>>代码示例>>C#>>正文


C# IFacetHolder.AddFacet方法代码示例

本文整理汇总了C#中IFacetHolder.AddFacet方法的典型用法代码示例。如果您正苦于以下问题:C# IFacetHolder.AddFacet方法的具体用法?C# IFacetHolder.AddFacet怎么用?C# IFacetHolder.AddFacet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IFacetHolder的用法示例。


在下文中一共展示了IFacetHolder.AddFacet方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProcessCollection

 private bool ProcessCollection(IFacetHolder holder) {
     var typeOfFacet = holder.GetFacet<ITypeOfFacet>();
     Type collectionElementType;
     if (typeOfFacet != null) {
         collectionElementType = typeOfFacet.Value;
     }
     else {
         collectionElementType = typeof (object);
         holder.AddFacet(new TypeOfFacetDefaultToObject(holder, Reflector));
     }
     holder.AddFacet(new DotNetCollectionFacet(holder, collectionElementType));
     return true;
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:13,代码来源:CollectionFacetFactory.cs

示例2: Process

 public override bool Process(PropertyInfo property, IMethodRemover methodRemover, IFacetHolder holder) {
     if (CollectionUtils.IsCollectionButNotArray(property.PropertyType)) {
         holder.AddFacet(new CollectionResetFacet(property, holder));
         return true;
     }
     return base.Process(property, methodRemover, holder);
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:7,代码来源:CollectionFacetFactory.cs

示例3: Reparent

        public virtual void Reparent(IFacetHolder newFacetHolder) {
            IFacetHolder oldFacetHolder = FacetHolder;

            oldFacetHolder.RemoveFacet(this);

            newFacetHolder.AddFacet(this);
            if (FacetHolder != newFacetHolder) {
                FacetHolder = newFacetHolder;
            }
        }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:10,代码来源:FacetAbstract.cs

示例4: DecoratedFacet

 private void DecoratedFacet(Type facetType, IFacetHolder holder) {
     if (facetDecorators.ContainsKey(facetType)) {
         foreach (IFacetDecorator decorator in facetDecorators[facetType]) {
             IFacet previousFacet = holder.GetFacet(facetType);
             IFacet decoratedFacet = decorator.Decorate(previousFacet, holder);
             if (decoratedFacet != null && decoratedFacet != previousFacet) {
                 holder.AddFacet(decoratedFacet);
             }
         }
     }
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:11,代码来源:FacetDecoratorSet.cs

示例5: ProcessGenericEnumerable

        private bool ProcessGenericEnumerable(Type type, IFacetHolder holder) {
            var typeOfFacet = holder.GetFacet<ITypeOfFacet>();
            bool isCollection = CollectionUtils.IsGenericCollection(type); // as opposed to IEnumerable 
            bool isQueryable = CollectionUtils.IsGenericQueryable(type);
            bool isSet = CollectionUtils.IsSet(type);
            Type collectionElementType;
            if (typeOfFacet != null) {
                collectionElementType = typeOfFacet.Value;
            }
            else {
                collectionElementType = CollectionUtils.ElementType(type);
                holder.AddFacet(new TypeOfFacetInferredFromGenerics(collectionElementType, holder, Reflector));
            }

            Type facetType = isQueryable ? typeof (DotNetGenericIQueryableFacet<>) : (isCollection ? typeof (DotNetGenericCollectionFacet<>) : typeof (DotNetGenericIEnumerableFacet<>));

            Type genericFacet = facetType.GetGenericTypeDefinition();
            Type genericCollectionFacetType = genericFacet.MakeGenericType(CollectionUtils.ElementType(type));
            var facet = (IFacet) Activator.CreateInstance(genericCollectionFacetType, holder, collectionElementType, isSet);
            holder.AddFacet(facet);

            return true;
        }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:23,代码来源:CollectionFacetFactory.cs

示例6: ProcessArray

 private bool ProcessArray(Type type, IFacetHolder holder) {
     holder.AddFacet(new DotNetArrayFacet(holder, type.GetElementType()));
     holder.AddFacet(new TypeOfFacetInferredFromArray(type.GetElementType(), holder, Reflector));
     return true;
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:5,代码来源:CollectionFacetFactory.cs


注:本文中的IFacetHolder.AddFacet方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。