アセンブリとは何かを簡略に説明すると、EXEファイルあるはDLLファイルから読み込まれた実行可能コードとメタデータのセットのことです。 (より正確には、実行可能コードとメタデータのセットであるモジュールを格納したもの) 特定のEXEやDLLで定義されている型情報を取得したい場合には、まず次のようなメソッドによってアセンブリを取得する必要があります。

アセンブリを取得するためのメソッド
メソッド 概要
Assembly.GetAssembly 指定された型が宣言されているアセンブリを取得する
Assembly.GetExecutingAssembly 現在実行中のコードが存在するアセンブリを取得する
Assembly.GetCallingAssembly 現在実行中のコードを呼び出したアセンブリを取得する
Assembly.GetEntryAssembly プロセスのエントリーポイントを含むアセンブリを取得する
Assembly.Load アセンブリを読み込んで取得する
Assembly.ReflectionOnlyLoad リフレクションのみを目的としてアセンブリを読み込み、取得する

文字列で表された型名から型情報を取得したい場合はAssembly.GetTypeメソッドを使用します。 次の例では現在実行しているアセンブリから指定された名前の型情報を取得しています。 GetTypeメソッドに指定する型名は名前空間を含めた完全名を指定する必要があります。

文字列で表された型名から型情報を取得する
using System;
using System.Reflection;

namespace NS {
  class T1 {} // このクラスの完全名はNS.T1となる
}

class Sample {
  static void Main()
  {
    // 現在実行しているコードが含まれるアセンブリを取得する
    Assembly a = Assembly.GetExecutingAssembly();

    // NS名前空間のクラスT1の型情報を取得する
    Type t = a.GetType("NS.T1");
  }
}