草庐IT

c# - 使用自定义属性获取程序集中的所有类型

是否有一种优雅的方法来获取程序集中具有自定义属性的所有类型?如果我要上课[Findable]publicclassMyFindableClass{}我希望能够在Assembly.GetTypes(...)返回的类型集合中找到它我可以用一个大的卑鄙的黑客来做到这一点,但我相信有人有更好的方法。 最佳答案 我认为您无法避免枚举程序集中的每个类型,检查属性,但您可以使用LINQ使查询更易于理解:Assemblyassembly=...vartypes=fromtypeinassembly.GetTypes()whereAttribute.

c# - 以编程方式获取所有可用语言(在卫星程序集中)

我正在使用.resx文件设计多语言应用程序。我有一些文件,如GlobalStrings.resx、GlobalStrings.es.resx、GlobalStrings.en.resx等。当我想使用它时,我只需要设置Thread.CurrentThread.CurrentCulture。问题:我有一个包含所有可用语言的组合框,但我正在手动加载它:comboLanguage.Items.Add(CultureInfo.GetCultureInfo("en"));comboLanguage.Items.Add(CultureInfo.GetCultureInfo("es"));我试过cmb

c# - 以编程方式获取所有可用语言(在卫星程序集中)

我正在使用.resx文件设计多语言应用程序。我有一些文件,如GlobalStrings.resx、GlobalStrings.es.resx、GlobalStrings.en.resx等。当我想使用它时,我只需要设置Thread.CurrentThread.CurrentCulture。问题:我有一个包含所有可用语言的组合框,但我正在手动加载它:comboLanguage.Items.Add(CultureInfo.GetCultureInfo("en"));comboLanguage.Items.Add(CultureInfo.GetCultureInfo("es"));我试过cmb

c# - 两个程序集中具有相同名称的类(有意)

我正在迁移一个用C++编写并具有C#包装器的库。C#包装器(LibWrapper)有一组带有命名空间的类,例如:namespaceMyNamespaceclassMyClassclassMyOtherClass我的新库LibraryCS包含与LibWrapper相同的命名空间和类名(根据用户要求),所以我还有:namespaceMyNamespaceclassMyClassclassMyOtherClass现在迁移已经完成,我正在创建一个测试来比较使用这两个库的结果,以验证迁移。但是,当我尝试引用MyNamespace.MyClass时,出现编译器错误(意料之中!),提示“MyName

c# - 两个程序集中具有相同名称的类(有意)

我正在迁移一个用C++编写并具有C#包装器的库。C#包装器(LibWrapper)有一组带有命名空间的类,例如:namespaceMyNamespaceclassMyClassclassMyOtherClass我的新库LibraryCS包含与LibWrapper相同的命名空间和类名(根据用户要求),所以我还有:namespaceMyNamespaceclassMyClassclassMyOtherClass现在迁移已经完成,我正在创建一个测试来比较使用这两个库的结果,以验证迁移。但是,当我尝试引用MyNamespace.MyClass时,出现编译器错误(意料之中!),提示“MyName

c# - Entity Framework 程序集中的重复类型名称 (6.1.0)

我不确定发生了什么,但在执行查询时我不断收到以下异常。“程序集中类型名称重复。”我无法在网上找到解决方案。我通过从解决方案中的所有项目中删除EntityFramework并使用nugget重新安装来解决了这个问题。然后突然异常又回来了。我一遍又一遍地验证了我的表模式,没有发现任何问题。这是导致异常的查询。varBaseQuery=fromUsersindb.UsersjoinUserInstallsindb.UserTenantInstallsonUsers.IDequalsUserInstalls.UserIDjoinInstallsindb.TenantInstallsonUser

c# - Entity Framework 程序集中的重复类型名称 (6.1.0)

我不确定发生了什么,但在执行查询时我不断收到以下异常。“程序集中类型名称重复。”我无法在网上找到解决方案。我通过从解决方案中的所有项目中删除EntityFramework并使用nugget重新安装来解决了这个问题。然后突然异常又回来了。我一遍又一遍地验证了我的表模式,没有发现任何问题。这是导致异常的查询。varBaseQuery=fromUsersindb.UsersjoinUserInstallsindb.UserTenantInstallsonUsers.IDequalsUserInstalls.UserIDjoinInstallsindb.TenantInstallsonUser

c# - 'clr-namespace' URI 指的是未包含在程序集中的命名空间

我试图在我的XAML中包含一些转换值的类。但是,编译时出现以下错误:UndefinedCLRnamespace.The'clr-namespace'URIreferstoanamespace'View.Summary.Converters'thatisnotincludedintheassembly.(View\View)它出错的XAML:xmlns:c="clr-namespace:View.Summary.Converters"此外,这是我的转换类/命名空间的概要:namespaceView.Summary.Converters{classCollapsedIfNegative:I

c# - 'clr-namespace' URI 指的是未包含在程序集中的命名空间

我试图在我的XAML中包含一些转换值的类。但是,编译时出现以下错误:UndefinedCLRnamespace.The'clr-namespace'URIreferstoanamespace'View.Summary.Converters'thatisnotincludedintheassembly.(View\View)它出错的XAML:xmlns:c="clr-namespace:View.Summary.Converters"此外,这是我的转换类/命名空间的概要:namespaceView.Summary.Converters{classCollapsedIfNegative:I

c# - ASP.NET MVC 中单独程序集中的 View

我正在尝试创建一个Web应用程序,我希望能够在其中插入单独的程序集。我使用MVC预览版4结合Unity进行依赖注入(inject),我用它从我的插件程序集创建Controller。我使用WebForms(默认为aspx)作为我的View引擎。如果我想使用View,由于ASPX部分的动态编译,我只能使用核心项目中定义的View。我正在寻找一种正确的方法来将ASPX文件包含在不同的程序集中,而无需完成整个部署步骤。我错过了一些明显的东西吗?还是我应该求助于以编程方式创建View?更新:我更改了已接受的答案。尽管Dale的回答非常详尽,但我还是选择了不同的虚拟路径提供者来寻求解决方案。它就像