Esempio n. 1
0
		private static bool Contains(this Variance v, ISet genericParameter, ISet genericArgument)
		{
			Contract.RequiresEnumIsDefined(v);
			Contract.Requires(genericParameter != null);


			if (genericArgument == null)
				return true;
			if (v == Variance.Covariant)
				return genericParameter.Supersets(genericArgument);
			if (v == Variance.Contravariant)
				return genericArgument.Supersets(genericParameter);

			return genericParameter == genericArgument; //TODO: consider how to resolve the invariant case 
		}