在Visual Studio中,如果我定义一个类来实现一个接口,例如
class MyObject : ISerializable {}
Run Code Online (Sandbox Code Playgroud)
我可以右键单击ISerializable,从上下文菜单中选择" 实现接口 ",并查看我的类定义中出现的相应方法.
class MyObject : ISerializable {
#region ISerializable Members
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
throw new NotImplementedException();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
在Mac上的Xcode中有什么类似的功能吗?我希望能够以这种方式自动实现协议.也许使用生成的可选方法但注释掉了.
我刚刚玩了Java文件系统API,并提供了以下函数,用于复制二进制文件.最初的源代码来自Web,但我添加了try/catch/finally子句,以确保在出现错误之前,在退出函数之前缓冲流将被关闭(因此,我的操作系统资源被释放).
我减少了功能以显示模式:
public static void copyFile(FileOutputStream oDStream, FileInputStream oSStream) throw etc...
{
BufferedInputStream oSBuffer = new BufferedInputStream(oSStream, 4096);
BufferedOutputStream oDBuffer = new BufferedOutputStream(oDStream, 4096);
try
{
try
{
int c;
while((c = oSBuffer.read()) != -1) // could throw a IOException
{
oDBuffer.write(c); // could throw a IOException
}
}
finally
{
oDBuffer.close(); // could throw a IOException
}
}
finally
{
oSBuffer.close(); // could throw a IOException
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,我不能把这两个close()放在finally子句中,因为第一个close()可以抛出,然后,第二个不会被执行.
我知道C#有Dispose模式,可以使用using关键字来处理这个问题.
我甚至知道更好的C++代码(使用类似Java的API): …
在一个相关的问题中,我的团队即将(希望)开始使用LINQ,我想利用匿名类型.混合VB.NET的Option Strict(我们在整个项目的生命周期中使用过)和新的Option Infer指令的最佳方法是什么?
我将编写一个国际象棋服务器和一个或多个国际象棋客户端,我想用编程语言独立的方式描述国际象棋的规则(例如基于游戏状态的允许移动,游戏完成时的规则).这有点棘手,因为一些国际象棋规则(例如King Castling,en passent,基于3次或更多次重复动作绘制)不仅基于棋盘布局而且基于移动历史.
我希望格式为:
但我愿意牺牲其中任何一种来获得合适的解决方案.
我的主要问题是:如何构建如此复杂的算法,从数据格式对这种复杂状态进行操作?
后续问题是:您能否以类似的方式提供类似问题的示例,以此作为起点?
编辑:为了回应清晰的要求 - 考虑我将用Python编写的服务器,一个用C#编写的客户端和另一个用Java编写的客户端.我想避免在每个地方指定规则(例如,允许的棋子移动,检查的情况等).我宁愿以语言独立的方式指定这些规则.
我目前正在开发一个将在海外部署的大型多层应用程序.虽然我希望它一旦解复就不会摔倒或炸毁,但我不能100%肯定这一点.因此,知道我可以请求日志文件,确切地知道出了什么问题以及原因,这将是很好的.
所以基本上标题表明我想知道何时以及记录什么?我想知道这一点,以确保我有完整的日志文件,可以轻松检查,以确定如果我的应用程序崩溃发生了什么.
我正在尝试用巧妙,清晰和简单的方法来编写描述给定范围内整数序列的代码.
这是一个例子:
IEnumerable<int> EnumerateIntegerRange(int from, int to)
{
for (int i = from; i <= to; i++)
{
yield return i;
}
}
Run Code Online (Sandbox Code Playgroud) 我有点好奇我应该如何处理iPhone和两部手机之间的通信问题.
我知道需要在两个已知手机之间发送数据的应用程序.问题是数据可能非常小或非常大.我希望在服务器和消息传递层上有中间存储,但我希望有高性能的方法在设备之间进行通信,以获得更短,不重要的消息.
你总是听说网络和客户端与流行的平台和协议进行客户沟通,但我很好奇人们对与iPhone进行p2p风格通信的想法.
我很确定它应该(并且可以)被视为一个简单的可寻址机器...因此我必须构建NAT遍历网络代码到iPhone本身.我的想法是某种UPnP情况,我会要求NAT特定端口与设备通信......但我想我可以很容易地把它变成轮询情况.
当然,据我所知,Apple最终将为开发人员提供一个"推送"机制,但我希望事先将应用程序推出门外......
只是对这类事情的想法感到好奇......对多人游戏情境的任何想法也会直接适用于(并从中受益)这个问题.
我知道我们可以使用像JProfiler等工具.是否有任何关于如何配置它以通过远程监控显示内存使用情况的教程?
任何的想法?
我有一个包含几个字段的域类.我可以从我的.gsps访问它们.我想在域类中添加一个方法,我可以从.gsps中调用它(这个方法是一种虚拟字段;它的数据不是直接来自数据库).
如何添加方法以及如何从.gsps中调用它?
我有几个共享常见模块的python项目.到现在为止,我已经......咳嗽......保留公共代码的多个副本并手动同步.但我显然更愿意做别的事情.
它现在在我看来,好像zc.Buildout可能是我需要的.我想我应该做的是将我系统的每个可重用组件放入一个单独的egg中,然后使用buildout将它们组装到项目中.
我也在想,对于任何特定的模块,我应该将单元测试放入一个单独的包或蛋中,这样我就不会在每个项目中安装组件的单元测试副本.我只想在我的库开发的地方进行单元测试,而不是在刚刚使用的地方.
所以也许我想要这样的东西
projects
lib1
tests
code
lib2
tests
code
app1
tests
appcode
app2
tests
appcode
Run Code Online (Sandbox Code Playgroud)
等等
app1和app2都是独立的应用程序,有自己的代码和测试,但也包括和使用lib1和lib2.和lib1/test,lib1/code,lib2/test,lib2code,app1,app2是分开的鸡蛋.这听起来不错吗?
但是,我现在感到困惑.我假设当我开发app1时,我希望buildout将lib1,lib2和app1的副本放到一个单独的工作目录中,而不是直接将这些库的副本放在app1下.但是,这如何与我的SVN源代码控制一起使用?如果使用buildout动态构造工作目录,它不能是一个实时SVN目录,我可以从中检查更改回存储库?
我是否误解了如何使用buildout?我会更好地采用完全不同的方法吗?如何在项目之间混合源代码控制和模块重用?
更新:感谢两位目前已回答此问题的人.我正在尝试更多这个.
java ×3
c# ×2
linq ×2
python ×2
buildout ×1
chess ×1
dataformat ×1
egg ×1
grails ×1
groovy ×1
iphone ×1
logging ×1
memory ×1
mobile ×1
networking ×1
objective-c ×1
optimization ×1
option-infer ×1
profiling ×1
raii ×1
refactoring ×1
sequences ×1
svn ×1
upnp ×1
vb.net ×1
xcode ×1