草庐IT

c# - 变体和开放泛型 IReadOnlyList

我试图理解为什么C#中有关变体和泛型的特定行为无法编译。classMatrixwhereTLine:ILine{TLine[]_lines;IReadOnlyListLines{get{return_lines;}}//doesnotcompileIReadOnlyListLines{get{return_lines;}}//compile}我不明白为什么这不起作用:_lines,属于TLine[]类型,工具IReadOnlyListIReadOnlyList是一个变体通用接口(interface),这意味着,据我所知,任何实现IReadOnlyList的东西可以用作IReadOnly

c# - 从开放的 HTTP 流中读取数据

我正在尝试使用.NETWebRequest/WebResponse类在此处访问Twitter流API“http://stream.twitter.com/spritzer.json”。我需要能够打开连接并从打开的连接中增量读取数据。目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到下载完整个响应。我知道有一个BeginGetResponse方法,但这只会在后台线程上做同样的事情。我需要在下载仍在进行时访问响应流。对于这些类(class),这对我来说似乎是不可能的。Twitter文档中对此有具体的评论:“请注意,某些HTTP客户端库仅在服务器关闭连接后才返回

c# - 为属性 setter 或 getter 创建一个高性能的开放委托(delegate)

开放委托(delegate)是对没有目标的实例方法的委托(delegate)。要调用它,您需要提供目标作为它的第一个参数。它们是优化代码的聪明方法,否则会使用反射并导致性能不佳。有关开放委托(delegate)的介绍,请参阅this.您在实践中使用它的方式是使用昂贵的反射代码来构建这些开放的委托(delegate),但是您可以像简单的委托(delegate)调用一样非常便宜地调用它们。我正在尝试编写代码,将任意PropertyInfo转换为其setter的此类委托(delegate)。到目前为止,我想出了这个:usingSystem;usingSystem.Collections.Ge

c# - Autofac:批量注册开放通用类型

我得到了一个包含许多实现IHandler的具体类型的程序集,例如:publicclassMoveCustomerHandler:IHandler{voidIHandler.Handle(MoveCustomerCommandc){//somebusinesslogicformovingacustomer.}}目前我正在一一注册如下:builder.RegisterType().As>();builder.RegisterType().As>();builder.RegisterType().As>();//Manyhandlerregistrationshere...命令处理程序是使用

c# - 判断两个DateTimes之间的差异,只计算开放时间

对于我们的C#支持软件,我需要确定两个DateTime之间的时间跨度,但我只想计算开放时间(即工作日的09:00到17:00)。因此,例如,如果第一个DateTime是15/02/201116:00,第二个是16/02/201110:00,该方法应返回2小时。非常感谢任何帮助! 最佳答案 DateTimestart=DateTime.Parse("15/02/201116:00");DateTimeend=DateTime.Parse("16/02/201110:00");intcount=0;for(vari=start;i=9&

c# - 使用 NodaTime 正确处理开放时间

我目前正在编写一个相当简单的应用程序来处理企业的开/关时间,但在试图弄清楚如何正确存储信息时遇到了严重的困难。我们的大部分关键功能都在很大程度上依赖于让时间绝对完美,所以显然我希望以最好的方式开始工作!此外,数据将由用户输入,因此如果底层表示稍微复杂一些(例如,使用TimeSpans来计算午夜后的营业时间),这需要对用户不可见。我需要首先存储公司的营业时间,按星期几,以及与之关联的时区,例如:-M:1000-2330-T:1000-0030-W:1900-0300-Th:2000-0300-F:2000-0800-Sa:1000-0500-Su:1000-2300我目前认为最好的存储方

c# - 无法从用法中推断出开放泛型类型参数

在这个问题中,当提到编译器时,我实际上指的是Roslyn编译器。使用IntelliSense时会出现问题,这被认为是相同的编译器。出于演示目的和完整性,使用了以下类(使用带有C#6.0和.NET4.6.1的VisualStudio2015):publicclassA{publicIEnumerableB{get;set;}}publicclassB{publicIEnumerableC{get;set;}}publicclassC{}publicclassHelper{}看下面的扩展方法:publicstaticvoidFooBar(thisHelper>helper,Expressi

c# - 为什么开放泛型的基类型不开放?

考虑下面的一段代码:publicclassA{}publicclassB:A{}在这种情况下:vara=typeof(A).GenericTypeArguments.Length;a的值为0,这并不奇怪。然而,这对我来说有点出乎意料:varb=typeof(B).BaseType.GenericTypeArguments.Length;其中b的值为1。因此它使用不存在的类型名称“T”关闭,并且仅对其执行GetGenericTypeDefinition使其再次打开。这是为什么? 最佳答案 Soitisclosedusinganon-e

javascript - 开放层 3 : simple LineString example

我是OpenLayers的新手,我正在寻找在map上绘制线条的帮助,我一直在尝试各种不同帖子中关于绘制LineString的各种方法,但我无法让它工作!我只需要弄清楚如何在坐标之间画一条线。下面是一些我试过但没有用的代码:varpoints=[newol.geom.Point([78.65,-32.65]),newol.geom.Point([-98.65,12.65])];varfeatureLine=newol.Feature({geometry:newol.geom.LineString(points)});varsourceLine=newol.source.Vector({f

javascript - Facebook Javascript SDK 开放图 : error adding custom objects for custom stories

我创建了一个名为“意见”的自定义对象,以围绕它构建自定义故事。我正在尝试使用javascriptsdk从我的网站添加一些应用拥有的对象。Facebook给我的示例代码是:FB.api('me/objects/[namespace]:opinion','post',{app_id:xxxxxxxx,type:"[namespace]:opinion",url:"http://samples.ogp.me/331257847005141",title:"SampleOpinion",image:"https://fbstatic-a.akamaihd.net/images/devsite/