1

SQL サーバーのテーブルに CodeDOm を使用してエンティティ クラスを作成しようとしています。クラスに追加する名前空間のリストを提供するために、1 列のデータグリッドビューがあります。名前空間の入力が簡単になるように、GridView Intellisense の各セルを指定する方法はありますか?

EDIT:@yeonhoのおかげで、グリッドビューへのオートコンプリートメソッドを取得する方法を見つけました。このコードを使用して、System.dll の名前空間を取得しました。

        Assembly assembly = Assembly.Load("System.dll");
        Type[] types = assembly.GetTypes();

しかし、System.dll をデバッグ フォルダーにコピーしたり、完全修飾パスを指定したりせずに参照できる方法はありますか?

4

1 に答える 1

1

私はこれが好きでした..

public List<Type> GetTypesFromAssembly()
        {
            List<Type> listOfAllTypes = new List<Type>();
            Assembly[] allAssembliesInCurrentDomain = AppDomain.CurrentDomain.GetAssemblies();

            foreach (Assembly assembly in allAssembliesInCurrentDomain)
            {
                listOfAllTypes.AddRange(assembly.GetTypes());
            }

            return listOfAllTypes;        
        }

public List<string> GetSystemNamespaces()
        {
            List<string> namespaces = new List<string>();            

            List<Type> types = GetTypesFromAssembly();

            foreach (Type type in types)
            {
                if (type.Namespace != null)
                {
                    namespaces.Add(type.Namespace.ToString());
                    namespaces = namespaces.Distinct().ToList();
                }
            }
            return namespaces;
        }
于 2013-03-13T11:52:26.870 に答える