Tag: 紧凑框架

使用Compact Framework在数据网格中设置列宽

我正在尝试设置数据网格中列的宽度。 我使用Compact Framework 2.0和C# 我试过这个,但它给了我一个“out of bonds”错误信息: foreach (DataGridColumnStyle vColumnStyle in dataGrid1.TableStyles[0].GridColumnStyles) { vColumnStyle.Width = 100; } 下面是使用数据表填充数据网格的代码(仅在我尝试设置列宽时失败): void FillData() { // 1 // Open connection string conString = “Data Source=\\Program Files\\smartdeviceproject2\\repartocrack.sdf”; using (SqlCeConnection c = new SqlCeConnection(conString)) { c.Open(); // 2 // Create new DataAdapter using (SqlCeDataAdapter a = new SqlCeDataAdapter( “SELECT codbultocomp, nombre, […]

.NET无法反序列化嵌套结构?

我遇到了使C#(VS2008,Compact Framework,.NET是版本3.5 SP1)成功反序列化嵌套结构的问题。 当我在移动设备的模拟器上运行时(我正在使用“Pocket PC 2003 Second Edition”模拟器),问题只出现在CF中,在我的Windows机器上运行的完全相同的代码没有同样的问题。 这是我的代码: public struct Fred { public string Name; } public struct Middle { public Fred[] Freds; } public struct Top { public Middle Middle; public Fred[] Freds; } public static void Test() { Top top = new Top(); top.Middle.Freds = new Fred[2]; top.Middle.Freds[0].Name = “Fred20”; top.Middle.Freds[1].Name = […]

是否有任何程序混淆C#源代码?

我们的要求是能够将我们的DLL与ClickOnce集成。 Dotfuscator可以很好地完成混淆工作,但是无法在客户端使用ClickOnce部署混淆的DLL。 在我们这边,我们可以完美地处理它。 此外,混淆的程序集有时会崩溃我们的.NET CF应用程序。 事实certificate,这是一种创建临时源并在使用VS编译之前对其进行模糊处理的解决方案。 这可确保已编译的程序集可与ClickOnce集成,并与.NET CF完全兼容。 什么是混淆C#SOURCE CODE(不是程序集)的最佳工具?

为什么短路不能阻止与逻辑AND(&&)的不可达分支相关的MissingMethodException?

在检查我的Windows移动设备上是否有相机并启用时,我遇到了一些我不明白的事情。 代码如下所示: public static bool CameraP(){ return Microsoft.WindowsMobile.Status.SystemState.CameraPresent; } public static bool CameraE() { return Microsoft.WindowsMobile.Status.SystemState.CameraEnabled; } public static bool CameraPresent1() { return Microsoft.WindowsMobile.Status.SystemState.CameraPresent && Microsoft.WindowsMobile.Status.SystemState.CameraEnabled; } public static bool CameraPresent2() { return CameraP() && CameraE(); } 当我调用CameraPresent2()它返回false(没有相机存在)。 但是,当我调用CameraPresent1()我收到一条MissingMethodException并注释“找不到方法:get_CameraEnabled Microsoft.WindowsMo​​bile.Status.SystemState。” 在CameraPresent1评估第二个术语是因为它们都是属性(在语言级别)? 还有什么能解释行为上的差异吗?

XML与序列化/反序列化的二进制性能

我正在开发一个紧凑的框架应用程序,需要提高性能。 该应用程序当前通过将对象序列化为XML并将其存储在数据库中而脱机工作。 使用分析工具,我可以看到这是一个相当大的开销,减慢了应用程序。 我想如果我切换到二进制序列化,性能会增加,但因为在紧凑框架中不支持,我看了protobuf-net。 序列化似乎更快,但反序列化要慢得多,并且应用程序比串行化更多地反序列化。 二进制序列化应该更快,如果是这样,我可以做些什么来加快性能? 这是我如何同时使用XML和二进制文件的片段: XML序列化: public string Serialize(T obj) { UTF8Encoding encoding = new UTF8Encoding(); XmlSerializer serializer = new XmlSerializer(typeof(T)); MemoryStream stream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8); serializer.Serialize(stream, obj); stream = (MemoryStream)writer.BaseStream; return encoding.GetString(stream.ToArray(), 0, Convert.ToInt32(stream.Length)); } public T Deserialize(string xml) { UTF8Encoding encoding = new UTF8Encoding(); XmlSerializer […]

如何在C#和.NET 3.5中减小图像的大小?

我有一个屏幕截图,我在我的移动应用程序中。 在磁盘上保存为png时,屏幕截图大约需要32 KB。 我将这些发送到中央SQL Server,32 KB太大了,我需要存储该屏幕截图(每天大约2500次)。 有什么样的技巧可以让它来节省更小的? 这是我现在使用的代码,它从Bitmap到字节(发送到服务器进行存储): MemoryStream stream = new MemoryStream(); _signatureImage.Save(stream, ImageFormat.Png); return stream.ToArray(); _signatureImage是一个Bitmap ,是有问题的屏幕截图。 这是我正在保存的屏幕截图的示例: 想到的东西(但我不知道怎么做): 减少图像的实际高度和宽度(但希望以一种不会扭曲它的方式)。 将其更改为黑白图像(不确定我是否会看到任何真正的空间节省) 压缩它(我不喜欢这个,因为它不能从数据库中读取)。 注意,这一切都必须以编程方式完成,并且不能花费很长时间,因此复杂的图像处理已经完成。 谢谢你的帮助。

在.net紧凑框架中将图像转换为1 bpp位图

我有一个签名的图像我试图保存为1 bpp位图以节省文件空间。 完整的.NET Framework具有枚举PixelFormat.Format1bppIndexed ,但.NET Compact Framework不支持它。 有没有人发现在Windows Mobile中实现这一目标的方法?

在C#中,如何序列化System.Exception? (.Net CF 2.0)

我想写一个MS Message Queue的exception。 当我尝试它时,我得到一个例外。 所以我尝试使用仍然引发exception的XmlSerializer来简化它,但它给了我更多信息: {“反映类型’System.Exception’时出错。”} 与InnerException: {“无法序列化System.Collections.IDictionary类型的成员System.Exception.Data,因为它实现了IDictionary。”} 示例代码: Exception e = new Exception(“Hello, world!”); MemoryStream stream = new MemoryStream(); XmlSerializer x = new XmlSerializer(e.GetType()); // Exception raised on this line x.Serialize(stream, e); stream.Close(); 编辑:我尽量保持这个简单,但我可能已经过度了。 我想要整个位,堆栈跟踪,消息,自定义exception类型和自定义exception属性。 我甚至可能想再次抛出exception。