本文整理汇总了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();
}
}
示例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);
}
}
}
}
示例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;
}
示例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;
}
示例5: IsAlwaysHidden
private static bool IsAlwaysHidden(IFacetHolder holder) {
var hiddenfacet = holder.GetFacet<IHiddenFacet>();
return hiddenfacet != null && hiddenfacet.Value == When.Always;
}