1

我正在尝试使用 CodeDOm 为 SQL 服务器中的表创建实体类。我有一列的 datagridview 给出要添加到类中的命名空间列表。有什么方法可以给 GridView Intellisense 的每个单元格,这样输入命名空间会很容易吗?

编辑:感谢@yeonho,我找到了一种方法来获取gridview的自动完成方法。我使用这段代码来获取 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 回答