Exemplo n.º 1
0
        /// <summary>
        /// Writes down the C# instruction.
        /// </summary>
        /// <param name="writer">The stream on which to write.</param>
        public override void WriteCSharp(ICSharpWriter writer)
        {
            Debug.Assert(WriteDown);

            string DestinationString = Destination.CSharpText(writer, 0);

            ICSharpExpressionContext SourceExpressionContext = new CSharpExpressionContext();

            SourceExpression.WriteCSharp(writer, SourceExpressionContext, -1);

            string SourceString = SourceExpressionContext.ReturnValue;

            ICSharpExpressionContext ExpressionContext = new CSharpExpressionContext();
            string ArgumentListText = CSharpArgument.CSharpArgumentList(writer, ExpressionContext, FeatureCall);

            writer.WriteIndentedLine($"{DestinationString}[{ArgumentListText}] = {SourceString};");
        }