Пример #1
0
		/// <summary>
		///     Normalizes the <paramref name="initializer" />.
		/// </summary>
		public override SyntaxNode VisitEqualsValueClause(EqualsValueClauseSyntax initializer)
		{
			var typeInfo = SemanticModel.GetTypeInfo(initializer.Value);
			if (typeInfo.Type == null || typeInfo.Type.Equals(typeInfo.ConvertedType))
				return base.VisitEqualsValueClause(initializer);

			var convertedType = DetermineType(typeInfo.ConvertedType);
			if (convertedType == ExpressionType.Other)
				return base.VisitEqualsValueClause(initializer);

			return initializer.WithValue(CreateInvocation(convertedType, initializer.Value));
		}
Пример #2
0
		/// <summary>
		///   Normalizes the <paramref name="initializer" />.
		/// </summary>
		public override SyntaxNode VisitEqualsValueClause(EqualsValueClauseSyntax initializer)
		{
			var typeInfo = SemanticModel.GetTypeInfo(initializer.Value);
			if (typeInfo.Type == null || typeInfo.Type.Equals(typeInfo.ConvertedType))
				return base.VisitEqualsValueClause(initializer);

			if (!IsFormulaType(typeInfo.ConvertedType))
				return base.VisitEqualsValueClause(initializer);

			return initializer.WithValue(CreateInvocation(initializer.Value));
		}