Aggregate and Sum

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;

public class MainClass {
    public static void Main() {
        IEnumerable<int> intSequence = Enumerable.Range(1, 10);
        foreach (int item in intSequence)
            Console.WriteLine(item);
        int sum = intSequence.Aggregate(0, (s, i) => s + i);
        Console.WriteLine(sum);
    }
}

    


Aggregate Prototype

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;

public class MainClass {
    public static void Main() {
        int N = 5;
        IEnumerable<int> intSequence = Enumerable.Range(1, N);
        foreach (int item in intSequence)
            Console.WriteLine(item);
        int agg = intSequence.Aggregate((av, e) => av * e);
        Console.WriteLine("{0}! = {1}", N, agg);

    }
}

    


Use Aggregate on an array

   
 


using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;

public class MainClass {
    public static void Main() {
        int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        var query = numbers.Aggregate((a, b) => a * b);
    }
}

    


Run Active Object

   

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Word;

namespace Client.Chapter_19___Office_Integration
{
  public class RunActiveObject
  {
    [STAThread]
    static void Main(string[] args)
    {
      Word._Application MyWord = (Word._Application)Marshal.GetActiveObject("Word.Application");

      MyWord.PrintPreview = true;
      System.Windows.Forms.Application.Run();
    }
  }
}

           
          


Create Word CommandBars

   

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
using Word;
using Office = Microsoft.Office.Core;


namespace Client.Chapter_19___Office_Integration
{
  
  public class CreateCommandBars
  {
    [STAThread]
    static void Main(string[] args)
    {
      Office.CommandBarButton Button;
      Office.CommandBar CommandBar;
      object Missing = System.Reflection.Missing.Value;
      Office._CommandBarButtonEvents_ClickEventHandler ButtonHandler;
      Word.ApplicationClass MyWord = new Word.ApplicationClass();

      MyWord.Visible = true;
      CommandBar = MyWord.CommandBars.Add("MyCommandBar", Missing, Missing, Missing);
      Button = (Office.CommandBarButton)CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, Missing, Missing, Missing, Missing);
      Button.Caption = "MyButton";
      Button.FaceId = 1845;
      ButtonHandler = new Office._CommandBarButtonEvents_ClickEventHandler(OnClick_Button);
      Button.Click += ButtonHandler;
      System.Windows.Forms.Application.Run();
    }
    private void OnClick_Button(Office.CommandBarButton ctrl, ref bool cancel)
    {
      MessageBox.Show("This Worked!!!");
    }
  }

}

           
          


Modify Word Document Properties

   

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
using Word;


namespace Client.Chapter_19___Office_Integration
{
  public class ModifyDocumentProperties
  {
    [STAThread]
    static void Main(string[] args)
    {
      object Missing = Missing.Value;
      object BuiltInProps;
      object CustomProps;
      Word._Document Doc;
      Word.ApplicationClass MyWord = new Word.ApplicationClass();

      MyWord.Visible = true;
      Doc = MyWord.Documents.Add(ref Missing, ref Missing, ref Missing, ref Missing);
      BuiltInProps = Doc.BuiltInDocumentProperties;

      Type TypeBuiltingProp = BuiltInProps.GetType();

      //Setting abuilt-in property
      string Prop = "Author";
      string PropValue;
      object AuthorProp = TypeBuiltingProp.InvokeMember("item", BindingFlags.Default | BindingFlags.GetProperty, null, BuiltInProps, new Object[] { Prop });
      Type TypeAuthorProp = AuthorProp.GetType();

      PropValue = TypeAuthorProp.InvokeMember("Value", BindingFlags.Default | BindingFlags.GetProperty, null, AuthorProp, new Object[]{}).ToString();
      System.Windows.Forms.Application.Run();
    }
  }

}