c# - 我如何知道 Windows Mobile 是否支持此方法?

标签 c# windows-mobile windows-mobile-6

(.NET Framework 3.5 的)某些类包含 .NET Compact Framework 支持的一些方法,以及一些不支持的方法。还有一些 .NET Compact Framework 不存在的类。

例如 System.IO.File类中,.NET Compact Framework 支持 File.Create 函数,但 File.Encrypt 函数不支持。

另一个示例:.NET Compact Framework 支持 System.IO.File 类,但 System.Diagnostic.StackTrace 不支持。

我需要告诉编译器这样的事情:

#ifdef COMPACT_FRAMEWORK   // I'm compiling this from a smart device project

MyEncryptMethod("filename");

#else // I'm compiling this from a desktop project

File.Encrypt("filename");

#endif

我该怎么办?
(具体版本为Windows Mobile 6.1 Professional)。

最佳答案

补充一下,由于您显示的是 windows-mobilewindows-mobile-6,因此您应该将 #define 约束更改为PocketPC 而不是 COMPACT_FRAMEWORK

#ifdef PocketPC   // PocketPC is what the WM SDK uses

MyEncryptMethod("filename");

#else // I'm compiling this from a desktop project

File.Encrypt("filename");

#endif

更新:

尼克:yms 说的。 :) 使用智能设备项目之一构建项目时,Visual Studio 会自动将条件编译符号 PocketPC 添加到项目中。

在 VS2008 的主菜单中,单击“项目”并在底部选择项目的“属性”。

在项目的“属性”页面上,转到“构建”选项卡,您将在其中看到已为您定义 PocketPC 的位置。

关于c# - 我如何知道 Windows Mobile 是否支持此方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251177/

相关文章:

c# - 使用 C# 以编程方式重启 Windows Mobile 6.x 设备

c# - Crystal Reports:数据库登录失败

c# - 如何在 Windows Mobile 中调试 .net 应用程序

silverlight - Windows Mobile上的Silverlight?

c++ - 通过堆栈地址定位模块

c# - 如何在 Windows Mobile 中支持不同的屏幕尺寸?

c# - 如何检测 Windows 移动设备是否有摄像头? C#

C# postback dropdownlist 总是选择第一个值

c# - 在两个集合中搜索

C# MySql 在 C# 中存储多个数据库行