/// <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};"); }