而不是打电话:
var shows = _repository.ListShows("PublishDate");
Run Code Online (Sandbox Code Playgroud)
要返回按发布日期排序的对象集合,我想使用如下语法:
var shows = _repository.ListShows(s => s.PublishDate);
Run Code Online (Sandbox Code Playgroud)
为了利用lambda作为参数,我需要写什么?
我想创建一个Classes数组,每个类表示我正在构建的系统中可用的类型.涉及的所有类都是公共超类的子类.所以我想做:
Class<? extends SuperClass>[] availableTypes = { SubClass1.class, SubClass2.class };
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
Cannot create a generic array of Class<? extends SuperClass>.
Run Code Online (Sandbox Code Playgroud)
如果我尝试在初始化的右侧限定数组的创建,我会收到相同的消息:
Class<? extends SuperClass>[] availableTypes = Class<? extends SuperClass>[] { SubClass1.class, SubClass2.class };
Run Code Online (Sandbox Code Playgroud)
如果我取消了泛型资格,我可以编译代码:
Class[] availableTypes = { SubClass1.class, SubClass2.class };
Run Code Online (Sandbox Code Playgroud)
但后来我得到了泛型警告:
类是原始类型.应参数化对泛型类的引用.
我尝试着; 我尝试着!:)此外,在这一点上,即使这没有引起警告,我也失去了我试图定义的界面.我不想只返回一个任意类的数组; 我想返回一个类的数组,这些类都是特定SuperClass的子类!
Eclipse有一些非常强大的工具可用于确定用于修复泛型声明的参数,但在这种情况下,它会降低,因为它在处理Class时往往会失败.它提供的"推断通用类型参数"过程根本不会更改代码,而是留下警告.
我可以通过使用Collection来解决这个问题:
List<Class<? extends SuperClass>> availableTypes = new List<Class<? extends SuperClass>>();
Run Code Online (Sandbox Code Playgroud)
但是使用数组做到这一点的正确方法是什么?
我有一个VB.Net数据集,其中包含来自多个表的数据.有没有人对如何从数据集中查询数据有任何好的建议.我想在数据集上运行类似SQL的查询来提取符合某个" where"语句的数据.
我正在开发一个Asp.Net 3.5应用程序,我需要打印一些应用程序生成的报告.
我以前使用的是SSRS,但我的设计功能有很多问题.因此,我们现在正在寻找Crystal Reports作为替代方案.
当我们开始使用Crystal时,我们遇到了一个新问题.当单击Crystal Report顶部栏上显示的"打印"按钮时,在网页上显示的报告中,它不显示默认的SO打印对话框,而是显示自定义打印页面,然后将报告打印为PDF.
我知道这个解决方案可能足以满足大多数关于在网上打印报告的情况.但根据我的具体情况,我不能保证访问我的网络应用程序的客户端机器安装了PDF阅读器,如Acrobat Reader.我不能要求他们安装它以便使用我的应用程序.
因此,我正在寻找一种解决方案,使生成的报告的"打印"按钮显示默认的SO打印对话框,而不是将其打印为PDF.
你能给我任何解决这个问题的建议吗?
谢谢.
我正在使用以下方法手动创建数据结构:
NSDictionary* league1 = [[NSDictionary alloc] initWithObjectsAndKeys: @"Barclays Premier League", @"name",
@"Premier League", @"shortname",
@"101", @"id", nil];
NSDictionary* league2 = [[NSDictionary alloc] initWithObjectsAndKeys: @"Coca-Cola Championship", @"name",
@"Championship", @"shortname",
@"102", @"id", nil];
NSDictionary* league3 = [[NSDictionary alloc] initWithObjectsAndKeys: @"Scottish Premier League", @"name",
@"SPL", @"shortname",
@"201", @"id", nil];
NSDictionary* league4 = [[NSDictionary alloc] initWithObjectsAndKeys: @"Champions League", @"name",
@"UCL", @"shortname",
@"501", @"id", nil];
contentArray = [[NSArray alloc] initWithObjects:
[[NSDictionary alloc] initWithObjectsAndKeys: @"English", @"category", [[NSArray alloc] initWithObjects: league1, league2, nil], @"leagues", nil],
[[NSDictionary alloc] …Run Code Online (Sandbox Code Playgroud) 我在Win32上使用不带.NET的C++,如何从网站上通过HTTP下载图像而无需重新发明轮子?是否有提供单一功能的API或库来执行此操作?
http://mywebsite/file.imgext - > C:\ path\to\dir\file.imgext
在我的另一个问题中,我一直试图找到一个知道在哪里可以找到C#的免费开源OCR库的人.但是,似乎只有C++库,显然,C++不是C#.
其中一个回应建议在C#中编写自己的包装器.我几乎不知道该怎么做,在哪里学习它,或者它实际上是什么 - 除了我相信它通过改变的方法调用在dll中调用C++方法,......这只是假设,的确如此.
请再帮助一个新手.谢谢
我想开发一个需要使用GWT和GAE进行数据持久化的Web应用程序.据我了解,我唯一(或至少是最方便的)数据持久性选项是GAE的数据存储区,使用JDO或JPA注释对象.我还希望能够使用GWT远程过程调用(RPC)来回发送我的对象客户端 - 服务器,因此我的对象必须能够"分离".但是,GWT RPC序列化无法处理分离的JDO/JPA对象,并且它似乎不会在不久的将来出现.
我的问题:对此最简单,最直接的解决方案是什么?能够与服务器端持久性共享相同的客户端/服务器对象将非常方便.
编辑
我应该澄清一点,我仍然希望将GWT RPC与GAE的数据存储区一起使用.我只是在寻找能够让所有这些技术协同工作的最佳解决方案.
我知道我们可以这样做:
Class.class.getResourceAsStream("/com/youcompany/yourapp/module/someresource.conf")
Run Code Online (Sandbox Code Playgroud)
读取我们的jar文件中打包的文件.
我已经google了很多,我肯定没有使用正确的条款; 我想要做的是列出可用的资源,如下所示:
Class.class.listResources("/com/yourcompany/yourapp")
Run Code Online (Sandbox Code Playgroud)
这应该返回包内的资源列表 com.yourcompany.yourapp.*
那可能吗?关于如何做到这一点的任何想法,以防它不能像我展示的那样轻松完成?
注意:我知道可以知道罐子的位置,然后打开它并检查其内容以实现它.但是,我不能在我现在工作的环境中这样做.
我试图全面了解如何使用ICustomTypeDescriptor,TypeDescriptionProvider,TypeConverter和UITypeEditor来更改PropertyGrid显示和与对象接口的方式.
有人可以告诉我这是对的,还是我错过了任何重大概念或要点?我真的只是想了解为什么以及何时使用每个班级.
ICustomTypeDescriptor
TypeDescriptionProvider
类型转换器
UITypeEditor的
因此,ICustomTypeDescriptor和TypeDescription提供程序用于添加/更改/替换对象的整个属性.TypeConverter和UITypeEditor应用于各个属性,并控制这些特定属性的接口方式.
c# propertygrid uitypeeditor typeconverter customtypedescriptor