在C#中使用枚举

时间:2011-09-28 01:36:58

标签: c# .net enums enumeration

我正在为Windows Phone Mango编写我的第一个C#应用程序。它被设计成一个非常简单的手电筒应用程序。

以前,无法在Windows Phone上访问相机的闪存,但在最新版本中,它是。这是关于它的文档:

http://msdn.microsoft.com/en-us/library/microsoft.devices.flashmode(v=vs.92).aspx

不幸的是,这对我来说毫无意义。我设置了按钮,if-then语句用于在点击时切换按钮图标和文本。我只是无法弄清楚如何实际打开和关闭闪光灯。我很欣赏一个清晰的例子,所以我可以完成这个。

对于那些不想离开网站的人......这个链接基本上是这样说的:

public enum FlashMode

Members: On, Off, Auto, RedEyeReduction

4 个答案:

答案 0 :(得分:2)

FlashMode枚举只是一组表示FlashMode有效值的值。但是,FlashMode似乎定义了拍照时闪光灯的行为方式。 “开启”似乎意味着闪光灯将始终闪烁。它似乎并不意味着光在连续产生光的意义上“开启”。

支持这一点的一些证据:FlashMode文档说FlashMode.On表示“相机闪光灯已启用。”

答案 1 :(得分:0)

你看到这个链接吗?

http://msdn.microsoft.com/en-us/library/hh202949(v=vs.92).aspx

如果您有一个名为“cam”的变量(免责声明:我对移动设备一无所知),您需要更改FlashMode属性。所以点击你的按钮,你会做

cam.FlashMode = FlashMode.On 

编辑:看了一下后,看起来“cam”变量是PhotoCamera类的一个实例。所以这可能需要在你的应用程序中构建一些。这个链接在这方面也可能有所帮助。

http://msdn.microsoft.com/en-us/library/hh202956(v=vs.92).aspx

答案 2 :(得分:0)

MSDN上enum有一个很好的解释,所以我不会尝试在这里重新创建它,但实际上已经创建了一个新类型来简化赋值。而不是必须记住(例如)'On'等于0,而'Off'等于1,你可以改为使用FlashMode.On。当然,这些枚举只代表值,所以你仍然需要将它分配给某些东西。

例如,我在您提供的链接中找到了此链接:

cam.FlashMode = FlashMode.On;

这看起来很有趣,祝你好运!

答案 3 :(得分:0)

如果您尝试制作某种手电筒应用,根据this

,LED没有API