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


C# IFacetHolder.GetFacet方法代码示例

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


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

示例1: ActionDefaultsFacetViaMethod

 public ActionDefaultsFacetViaMethod(MethodInfo method, IFacetHolder holder)
     : base(holder) {
     this.method = method;
     var actionInvocationFacet = holder.GetFacet<IActionInvocationFacet>();
     if (actionInvocationFacet is ActionInvocationFacetViaMethod) {
         var facetViaMethod = (ActionInvocationFacetViaMethod) actionInvocationFacet;
         actionMethod = facetViaMethod.GetMethod();
     }
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:9,代码来源:ActionDefaultsFacetViaMethod.cs

示例2: 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

示例3: 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

示例4: 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

示例5: IsAlwaysHidden

 private static bool IsAlwaysHidden(IFacetHolder holder) {
     var hiddenfacet = holder.GetFacet<IHiddenFacet>();
     return hiddenfacet != null && hiddenfacet.Value == When.Always;
 }
开发者ID:radi4music,项目名称:NakedObjectsFramework,代码行数:4,代码来源:NamedAnnotationFacetFactory.cs


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