AspectSharp.Core.Matchers.DefaultAspectMatcher.ObtainClassMatcher C# (CSharp) Method

ObtainClassMatcher() protected method

protected ObtainClassMatcher ( AspectSharp.Lang.AST.AspectDefinition aspect ) : IClassMatcher
aspect AspectSharp.Lang.AST.AspectDefinition
return IClassMatcher
		protected virtual IClassMatcher ObtainClassMatcher(AspectDefinition aspect)
		{
			switch (aspect.TargetType.TargetStrategy)
			{
				case TargetStrategyEnum.SingleType:
					return SingleTypeMatcher.Instance;
				case TargetStrategyEnum.Assignable:
					return AssignableMatcher.Instance;
				case TargetStrategyEnum.Namespace:
					return NamespaceMatcher.Instance;
				case TargetStrategyEnum.Custom:
					return ObtainCustomMatcher(aspect.TargetType);
			}
			// There is no way we can get here - hopefully
			return null;
		}