Tag: c#

与Google日历/ Outlook同步的2种方式

我在我的应用程序中使用FullCalendar来显示通过我们自己的应用程序创建的事件。 我有一个用于创建/更新事件的添加/编辑表单。 这些事件存储在应用程序使用的db中。 我需要更进一步,需要将Google和Outlook日历同步到我的日历中。 这应该是2路同步即 如果我在日历中创建/编辑/更新活动,则应在Google / Outlook日历中创建/编辑/删除该活动。 反之亦然。 如果我在Google / Outlook日历中进行了一些更改,则应在我的日历中显示。 我想你实现这个想法: 我应该获取Google / Outlook的所有事件并将它们导入我的数据库,然后在我的日历视图中显示它们。 这在技术上是否可行? 即将通道的整个事件集导入我的数据库。 我是否应该通过Google / Outlook API进行GET获取特定视图的事件,我现在正在我的日历中(我将有我的日历视图的开始数据和结束日期)并将它们显示在我的日历中(即我没有将这些外部事件存储在我的数据库中)。 如果用户希望对应通过其创建/更新和删除API调用直接更新到Google / Outlook日历的事件进行任何更改。 什么应该是最好的方法? 编辑: 我去了https://calendar.sunrise.am/ (日历同步网络应用程序之一)并注意到了 即他们允许许多不同的应用程序日历/任务同步到他们的日历中。 看到我觉得将所有这些应用程序的所有事件存储到我们自己的应用程序的数据库中是不可行的。 如果通过我的应用程序对这些事件进行了任何更改,我应该调用这些应用程序的API来将更改转换为他们的应用程序(Google日历,Outlook等)。 你的想法是什么?

是什么让模板与通用模板不同?

我理解C ++中与Java和C#中的generics不同的模板方面。 C#是一种物化,Java使用类型擦除,C ++使用duck typing等.C ++模板可以做许多事情,Java和C#generics不能(例如模板专门化)。 但是Javagenerics可以做的事情有很多东西,C#和C ++都做不到(比如制作一个generics系列的有界类型参数,比如class Foo<T extends Comparable> ),还有很多东西C#generics可以做到Java和C ++不能(例如运行时genericsreflection)。 [编辑:显然Javagenerics比我想象的要弱得多。 (这是在说些什么。)无论如何,尽管它们不合适,但它们仍然被认为是仿制药和C#的仿制药。 我不明白的是概念上使模板与generics不同。 C ++模板的哪些部分是不能在不是模板的东西中完成的东西,而是通用的? 例如,如果我要实现支持模板的语言,那么它绝对需要什么呢? 我可以忽略哪些语言支持generics所必需的? 我的猜测是模板是一组超级generics,或者它们是实现generics的一种方式,但我并不真正理解真正模板与真正模板之间的区别。

是否有丰富的域模型示例?

我正在寻找一个简单的例子来说明使用丰富域模型的好处。 理想情况下,我想要一个前后代码列表(应该尽可能短)。 前面的代码清单应该显示使用贫血域模型解决的问题,以及许多相当程序化的服务层代码,后面的代码清单应该显示使用丰富的面向对象的域模型解决的相同问题。 理想情况下,代码清单应该是Java或Groovy,但任何相似的东西(例如C#)都可以。

为什么C#不允许在同一行上使用const和static?

为什么C#不允许在同一行上使用const和static? 在Java中,您必须将字段声明为“static”和“final”以充当常量。 为什么C#不允许你将const声明为final? 我进一步区分在Java中,每个接口都是公共的和抽象的,无论是否显式声明。 const本质上不是有效的静态吗? 为什么C#对此不以为然?

.NET和Java客户端应用程序之间的IPC

我必须得到两个不同的客户端应用程序,没有任何代理或服务器。 在两个进程,Java和.NET之间,IPC的最佳方法是什么? 它必须能够在多用户termainl服务器中工作,所以请不要使用套接字。 我希望它轻巧简单,即插即用,所以请不要使用RMI / WS。 我现在正在考虑使用JNI来访问Mutex和命名管道,我是否正朝着正确的方向前进? 欢迎任何想法! 谢谢丹尼斯

更快实现总和(用于Codility测试)

以下简单的sum实现如何更快? private long sum( int [] a, int begin, int end ) { if( a == null ) { return 0; } long r = 0; for( int i = begin ; i < end ; i++ ) { r+= a[i]; } return r; } 编辑 背景是有序的。 阅读关于编码恐怖的最新条目,我来到这个网站: http : //codility.com ,它有这个有趣的编程测试。 无论如何,我在提交中得到60分中的60分,基本上(我认为)是因为这个实现总和,因为那些我失败的部分是性能部分。 我得到TIME_OUT_ERROR了 所以,我想知道算法中的优化是否可行。 […]

Java和C#中的volatile语义背后的原因是什么?

C#和Java都定义了这一点 * volatile读取具有获取语义 * volatile写入具有发布语义 我的问题是: 这是定义volatile的唯一正确方法吗? 如果没有,如果语义被颠倒,事情就会大不相同,也就是说 volatile读取具有释放语义 volatile写入具有获取语义

为什么不使用.NET样式的委托而不是Java中的闭包?

好吧,这将是我第三次击败垂死的马。 但是,这个问题与我之前的两个关于闭包/代表的问题不同,后者询问代表的计划以及闭包的预计规范和实现是什么。 这个问题是关于 – 当我们可以简单地从我们心爱的友好邻居 – 微软窃取委托锁,股票和桶的整个概念时,为什么Java社区在努力定义3种不同类型的闭包。 有两个非技术性的结论我很想进入: Java社区应该保持自己的骄傲,代价是需要付出沉重的努力,不要屈服于借用任何微软的概念或以其他方式certificate微软的辉煌。 代表是微软的专利技术。 好的,除了以上两种可能性, Q1。 .NET风格的代理中是否存在三种(或更多种)封闭forms会解决的弱点或不足之处? Q2。 我在Java和C#之间转换时问这个问题,这让我觉得C#代理正是我所需要的。 是否有可在C#代理中当前不可用的闭包中实现的function? 如果是这样,他们是什么,因为我看不到我需要什么比C#代表给我足够的东西? Q3。 我知道在java中实现闭包/委托的一个问题是减少语言的正交性,其中不止一种方式暴露于执行特定任务。 为了确保java保持其正交性水平,是否值得花费卷积和花费时间来避免代表? 在关系设计中,我们知道通过经常充分满足第二范式来打破正交是可取的。 为简单起见,为什么java不能减少正交性和OO-ness? Q4。 JVM的体系结构在技术上受限于实现.NET样式的委托。 如果这个原因(强调不可能的虚拟)是真的,那么为什么三个闭包提议不能隐藏在简单的委托关键字或注释之后:如果我们不喜欢使用@delegate,我们可以使用@method。 我看不出委托语句格式如何比三个闭包提案更复杂。

Java中任务并行库的等价性

我想在Java中没有相当于任务并行库(.NET 4.0)。 真的吗? .NET的这一特性提供了哪些改进,而Java并发却没有。

纯抽象类和接口之间的区别

我和一位同事讨论过,他坚持认为在Java和C#等语言中,没有任何理由使用Pure Abstract基类,因为它只是意味着你无法避免缺少多重inheritance。 我觉得他错了,因为我一直以为如果一个东西是名词那么它就是一个对象,如果它是一个动词那么它就是一个界面。 例如,如果我想定义类型Bird ,我想在不实现它的情况下强制执行方法fly ,那么我会将它设为纯抽象类。 如果我想定义一个类型的Flies ,我会把它作为方法fly的接口。 Bird可能会实施Flies 。 我错了吗? 编辑: 我能给予支持我观点的唯一可靠论点是,在未来的某个时刻,设计可能需要改变,以便鸟类可以吃。 如果所有的鸟都吃同样的话,那么就需要将它添加到Bird ,使其成为非纯抽象的。 如果Bird是一个接口,这个改变只会是一场噩梦,因为我不知道从其他基类inheritance的东西是否也实现了我的Bird接口,所以我不能只重构我的问题。