当前位置:  开发笔记 > 编程语言 > 正文

便携式C#的最佳实践

如何解决《便携式C#的最佳实践》经验,为你挑选了5个好方法。

我期待为linux/windows/mac /任何其他平台编写一些C#代码,并且正在寻找可移植代码的最佳实践.

Project mono有一些很棒的移植资源.

便携式C#的最佳实践是什么?



1> Martin Salia..:

我讨厌术语"最佳实践",因为似乎某些实践在任何环境中都是最好的,这是一个冒险的事情,但我会告诉我我认为多平台代码的"好习惯"(对于大多数人来说)其他类型的发展):

使用持续集成引擎并始终为所有目标平台构建.

听起来太复杂了?好吧,如果你真的需要支持多个平台,那就更好了.无论你对代码和库的使用有多么小心,如果你测试得太晚,你会发现自己花了很多时间来重新处理应用程序的大部分内容.



2> Orion Edward..:

我实际上使用了winforms,它很好.这很糟糕,但它奏效了.

显然,不要使用P/Invoke或任何win32之类的东西,比如注册表.还要注意任何第三方DLL.例如,我们使用第三方SQLite DLL实际上包含本机代码,如果我们想在OSX/linux上运行,我们必须将其替换掉.


宪兵和现代艺术博物馆也可以提供帮助.

3> Sam Warwick..:

注意与文件名和路径操作有关的任何事情,并使用System.IO.Path中的可移植.NET方法即.

代替:

string myfile = somepath + "\\file.txt";

做:

string myfile = Path.Combine(somepath, "file.txt");

如果需要指定路径分隔符,则可以使用Path.Separator



4> Andrei Rînea..:

不要将"\ r \n"用于新行.使用Environment.NewLine

记住:

*NIX仅使用换行符("\n")

Windows使用"\ r \n"

MacIntosh使用"\ r"(我对此并不十分肯定 - 随意纠正我).

LE:似乎一些较新的MacOS不再使用"\ r"行分隔符了.



5> wvdschel..:

不要在GUI中使用Windows.Forms,但是Mono可能已经提到过了.对于跨平台GUI,Gtk#更加一致和可靠.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有