public override Type GetResultType(IResolver resolver) { if (!resolved) { Resolve(resolver); } if (propertyInfo != null) { return(propertyInfo.PropertyType); } else if (classOrEnumType != null) { return(classOrEnumType); } else { return(resolver.GetIdentifierType(identifier)); } }