' Get/Set the short
Public Property sDummy() As Short
Get
Return BitConverter.ToInt16(m_data, 4)
End Get
Set(ByVal Value As Short)
Buffer.BlockCopy(BitConverter.GetBytes(Value),0,m_data,4,BitConverter.GetBytes(Value).Length)
End Set
End Property
End Class 'ByteClass
Dim fromFile As Byte() = {1, 1, 1, 1, 2, 2}
Dim testClass As New ByteClass(fromFile)
Dim test1 As System.UInt32 = testClass.uiDummy ' 0x1010101
Dim test2 As Short = testClass.sDummy ' 0x202
testClass.sDummy = &H505 ' Test short
Dim test4 As System.UInt32 = testClass.uiDummy ' 0x1010101
Dim test5 As Short = testClass.sDummy ' 0x505
7.10. 我可以建立一个委托(delegate)交给Invoke吗?
不可以。在.net精简框架中,只有EventHandler方法可以被调用。以下代码说明啊如何正确使用此方法:
//C#
public void HandleMe(object o, EventArgs e) {...}
form.Invoke(new EventHandler(form.HandleMe));
'VB
Public Sub HandleMe(o As Object, e As EventArgs)
End Sub 'HandleMe
form.Invoke(New EventHandler(AddressOf form.HandleMe))
Although the following will compile, it will not work properly:
//C#
public delegate void MyHandler();
public void HandleMeBadly() {...}
form.Invoke(new MyHandler(form.HandleMeBadly));
'VB
Delegate Sub MyHandler()
Public Sub HandleMeBadly()
End Sub 'HandleMeBadly
form.Invoke(New MyHandler(form.HandleMeBadly))
7.11. 如何在微软.net精简框架上使用电话API?
查看这篇文章,学习如何在基于.net精简框架的应用程序中访问电话API:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp
7.12. 如何在Pocket Pc上生成GUID?
Guid.NewGuid方法可以生成新的GUID,但在.net精简框架中没有此方法。阅读这篇文章,学习如何根据GUID规范在PocketPC应用程序中建立GUID对象:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/PPCGuidGen.asp
7.13. 如何让我的.net精简框架程序和Pocket Outlook的数据结合?
这篇文章讨论了如何使用InTheHand公司的Pocket Outlook .NET组件:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/inthehandpoom.asp
7.14. 我可以判断.net精简框架中一个文件的版本吗?
Visual Studio .NET 2003帮助中的C# Programmer's Reference提供了在.net精简框架下使用不安全代码调用GetFileVersionInfo函数。 这个例子带来的问题是,这个函数是由OEM厂商决定的,并且不保证能返回正确结果。
使用Reflection可以获得程序集(Assembly)的版本:
//C#
using System.Reflection;
String ver = Assembly.GetExecutingAssembly().GetName().Version.ToString();
'VB
Imports System.Reflection;
Dim ver As String = [Assembly].GetExecutingAssembly().GetName().Version.ToString()
7.15. 微软.net精简框架的后台处理有什么相关技术?
使用后台处理,需要注意相关细节并小心设计。这篇文章提供一些关于后台处理最有用的建议,文中介绍的很多观点是必须说明的:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/BackgroundProcess.asp
7.16. 在微软.net精简框架上使用多线程有什么技巧?
学习如何在基于.net精简框架的Windows窗体应用程序中使用多线程。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfmultithreadedapp.asp
7.17. 如何在 智能设备应用 中使用混淆器?
学习如何使用PreEmptive Dotfuscator混淆器保护你的代码。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfobfuscation.asp
7.18. 如何使用密码服务对数据进行加密或解密?
请参考本问答的 "10.5. 写一个捕捉Pocket PC签名的程序n ." 部分。
7.19. 如何在微软.net精简框架上获得Windows CE设备的唯一号码?
学习如何使用.net精简框架获得Windows CE设备的设备号。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/retrievedeviceid.asp
你可以调用本地代码的函数来获得PocketPC的设备号,也就是序列号。这篇快速入门教程,演示了用MessageBox来显示设备号。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/deviceid.aspx
7.20. 如何在微软.net精简框架的应用程序上发送短消息?
这篇文章演示了如何从基于.net精简框架的应用程序中发送短消息:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfsendsms.asp