C#求WINCE实现对象二进制格式化BinaryFormatter方法
      C# 求WINCE实现对象序列化BinaryFormatter的方法,有没办法在CE下把类写成一个文件? 

                下面代码中在WIN7下通过 但是转到智能平台开发 CE的下面 就没有BinaryFormatter的方法
                Student objStu = new Student()
        {
            Name = this.txtName.Text.Trim(),
            Age = Convert.ToInt16(this.txtAge.Text.Trim()),
            Gender = this.txtGender.Text.Trim(),
            Birthday = Convert.ToDateTime(this.txtBirthday.Text.Trim())
        };
        //【1】创建文件流
        FileStream fs = new FileStream("C:\\objStu.obj", FileMode.Create);
        //【2】创建二进制格式化器
        BinaryFormatter formatter = new BinaryFormatter();
        //【3】调用序列化方法
        formatter.Serialize(fs, objStu);
        //【4】关闭文件流
        fs.Close();
0

3个回答

0
sonnpy
sonnpy 谢谢你这么热心的解答 唉 搜了半天 没有protobuf-net 的相关介绍和代码参考 http://code.google.com/p/protobuf-net/好像只有翻墙才能看
4 年多之前 回复

不过google code被gfvv了,,需要跨越下才能看见,你懂的。

0

google能找到。别告诉我你用的某国内山寨搜索引擎,那东西不收录英文内容的,连msdn都收不全。

0
sonnpy
sonnpy 呵呵 谢谢 是不能用百度,刚下了个protobuf-net.dll引入进去,一下蒙了 英文太差 要是有些DEMO就好了 我的想法是写了有个对象 里面 有STRING 有DATATABLE,存了些数据后直接写成文件或者 以二进制写到数据库的IMAGE字段中 再读出来。是CE平台
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【转】C# 二进制BinaryFormatter进行序列化与反序列化
原文:https://blog.csdn.net/e295166319/article/details/52790131 序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种种串行化的方式: 1、是使用BinaryFormatter进行串行化; 2、使用XmlSe...
C# 二进制BinaryFormatter进行序列化与反序列化
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。
BinaryFormatter序列化与反序列化(C#)
BinaryFormatte序列化:将对象转化成二进制,BinaryFormatte反序列化就是将二进制转化为对象; 命名空间: System.Runtime.Serialization.Formatters;
C# BinaryFormatter序列化对象保存后,不能改变命空间
BinaryFormatter序列化一个对象,保存成配置文件。 重构代码时,修改了对象的命名空间,导致BinaryFormatter反序列化异常: System.Runtime.Serialization.SerializationException: '无法加载进行反序列化所需的类型 XXX 因此尽量不用BinaryFormatter序列化文件保存,以免后期重构是出现异常;采用和命空间件无
二进制BinaryFormatter 泛型 序列化与反序列化 (保存文件到本地和读取)
网上找到一些方法,稍加改进封装了下,代码具体如下 using UnityEngine; using System.Collections; using System.Collections.Generic; using System.IO; using System; using System.Runtime.Serialization.Formatters.Binary; public cl
C#的四种序列化方法举例,及效率比较
和好友一起总结了C#的四种对象序列化方法(DataContractSerializer、XmlSerializer、BinaryFormatter、SoapFormatter),其中有DataContractSerializer和XmlSerializer不需要在对象上标注[Serializable],BinaryFormatter效率最高。
c#中xml序列化 和binary 序列化
什么是序列化与反序列化??? 序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。  当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节
解析C# BinaryFormatter实现序列化
C# BinaryFormatter实现序列化,我们知道在.NET框架里提供了C# BinaryFormatter,那么他是如何实现序列化操作的呢,首先我们来看看C# BinaryFormatter的概念以及作用。 C# BinaryFormatter的介绍: BinaryFormatter使用二进制格式化程序进行序列化。您只需创建一个要使用的流和格式化程序的实例,然后调用格式化程序的 Ser
C# 二进制BinaryFormatter和Xml进行序列化与反序列化
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。.NET框架提供了两种种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。    可...
BinaryFormatter.Deserialize 不能反序列化其它Application或者assembly产生的序列化文件
举个例子, 如果在版本1里边序列化了一个文件,后来在版本2里边想进行反序列化,这个时候会抛异常,   "Assemble 1 cannot be cast to Assemble 1.   解决办法,重写SerializationBinder类,把assemblyName改成当前运行的assemblyName。。   sealed class PreMergeToMergedDeser
BinaryFormatter 序列化及反序列化
<br />// Serialization<br />        public string SerialSession(SessionEntity session)<br />        {<br />            string seSession = "";<br />            try<br />            {<br />                IFormatter formatter = new BinaryFormatter();<br />  
二进制BinaryFormatter进行序列化与反序列化
.NET框架提供了两种种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。 可以使用[Serializable]属性将类标志为可序列化的。如果某个类的元素不想被序列化,1、可以使用[NonSerialized]属性来标志,2、可以使用[XmlIgnore]来标志。
C#复杂对象序列化,推荐二进制
复杂对象用xml序列化,一会儿这里不对,一会儿那里不对,直接用二进制分分钟搞定,++ xml序列化答疑     (1)需序列化的字段必须是公共的(public)     (2)需要序列化的类都必须有一个无参的构造函数     (3)枚举变量可序列化为字符串,无需用[XmlInclude]     (4)导出非基本类型对象,都必须用[XmlInclude]事先声明。该规则递归作用到子元素
JSON 在 WinCE 下的使用(1)
JSON WinCE 格式化
CSharp学习笔记 (一)序列化类实例
一、序列化类实例: XmlSerializer, DataContractSerializer 和 BinaryFormatter区别与用法分析:http://www.cnblogs.com/nankezhishi/archive/2012/05/12/serializationcompare.html 1. DataContractSerializer :所有类均可实例化,不需要
反序列化无法找到程序集(转载)
提示找不到程序集,原因是序列化时把序列化类的命名空间等信息保存了,但应用程序和类库的命名空间可能是 不一样的,所以提示找不到程序集。解决方法如下:   1.将dll加入强名称,注册到全局程序集缓存中 2.在反序列化使用的IFormatter 对象加入Binder 属性,使其获取要反序列化的对象所在的程序集,示例如下:  public void DeSerialize(
WINCE中ComboBox绑定数据源时触发SelectedIndexChanged事件的处理
ComboBox最经常使用的事件就是SelectedIndexChanged。但在将ComboBox绑定到某个数据源的过程中,会触发SelectedIndexChanged 事件,而这个时候用户并没有选择内容,其SelectedValue也不是对应字段的值。那么时写在SelectedIndexChanged中的处理代码就会因为SelectedValue的内容不正确引发异常。 一般网上找到的方法
自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化
        二进制序列化可以方便快捷的将对象进行持久化或者网络传输,并且体积小、性能高,应用面甚至还要高于json的序列化;开始之前,先来看看dotcore/dotne自带的二进制序列化:C#中对象序列化和反序列化一般是通过BinaryFormatter类来实现的二进制序列化、反序列化的。        BinaryFormatter序列化:1 System.Runtime.Serializa...
ArrayList与二进制数组的转换,对象序列化与序列化还原
有的时候我们想将对象保存到数据库中,就需要将对象序列化为二进制数组,然后保存到数据库。 从数据库提取出二进制数组,还需要将其还原为对象。   本例中ArrayList已经implements Serializable,其他对象需要实现此接口才能序列化   1、从ArrayList序列化为二进制数组 /** * 将ArrayList转化为二进制数组 * * @pa...
WINCE下datagrid 列宽及列格式化设置
ds为dataSet数据                    DataTable mytable = ds.Tables[0];                                       this.dataGrid1.DataSource=mytable.DefaultView;                     DataGridTableStyle myt
wince 检测u盘
#include 添加消息WM_DEVICECHANGE的处理 LRESULT OnDevChange(WPARAM wParam, LPARAM lParam)//设备更换处理 { PDEV_BROADCAST_VOLUME dbvDev = (PDEV_BROADCAST_VOLUME)lParam;  if( dbvDev->dbcv_flags & DBTF_MEDIA ) /
java序列化文件 - 二进制格式详解
转自:https://blog.csdn.net/lqzkcx3/article/details/79463450   1. 样例代码 代码如下, 省略不关心的部分 package objectStream; public class Employee implements Serializable {     private String name;    private double ...
C#高性能二进制序列化
http://www.cnblogs.com/yswenli/p/9217495.html 用着多了就发现BinaryFormatter有很多地方不妥,下面就来数数这个序列化的“三宗罪”:         1.类名上面要加上[Serializable],不加不给序列化;正常的用法应该是序列化一个对象,不需的地方加上NonSerialized才合理吧;         2.序列化byte[]结...
BinaryFormatter序列化实例(四)
将Voucher[] vouchers进行序列化时,可以看到Assembly和Type的信息只生成了一次,但是如果在vouchers中包含派生自Voucher的类的实例,也就是说vouchers是一个多态数组的时候,又是什么情况呢。如果BinnaryFormatter保存的是静态类型,那么反序列化时就不能完整恢复对象了。另一方面,因为BinaryFormatter.Serialize方法的参数是o
c# WINCE 下实现ENTER为TAB功能
Windows CE中用ENTER键实现TAB键的功能 在一般的Windows Forms C#编程中我们可以通过检测回车事件,然后使用SendKeys.Send("{TAB}");来实现。 但Windows CE(.NET Framework 2.0)中不支持SendKeys.Send方法,因此可以改为调用keybd_event这个API来实现。 例如: 1、引入命名空间: using
关于对象实例序列化加密解密并写入文件的技巧
最近在网上看见一些文章在讨论如何将一个对象或对象的列表序列化并加密后存储到文件中的讨论,有很多方法针对英文字符串和数值型数据都能很好完成,但是加入中文,或者加入一些诸如DateTime类型的数据后,在反序列化或解密时总是会出现异常,不能正确执行,经过一天的测试和比对,发现要解决这个问题,要注意以下几点 1、只讨论TripleDES加密算法,其它算法也类似,密钥Key和密钥向量IV在加密和解密时应
WinCE 6.0 Ping等程序支持。
1. WinCE BSP提供了很多的exe源码可以参考学习,正好有个项目要用到ping,默认使用的情况下,控制台和ping程序都是不支持的。 解决的原理很简单,自己提取代码,编译输出exe即可。 1)添加相关的items支持 Catalog Items View里面选择 Network Utiltes(IpConfig, Ping, Route) Shell Command Proces
wince C# 双缓冲 摘录
wince C# 双缓冲 简单摘录wince C# 双缓冲技术方法,使用重载Onpaint方法实现。
WINCE C#读写INI文件
最近开发一个CE上的GPS程序,用到配置存储,由于数据比较少且数据结构简单,所以采用了INI格式,WINCE没有提供windows里读写ini的函数,就自己写了一个,代码如下(C#):     //////////////////////////////////////////////////////////////////////////    //ini文件的C#读写    //钟磊
C++ 二进制文件的读写 实现类的序列化 20180317day8
#include&amp;lt;iostream&amp;gt; #include&quot;fstream&quot; using namespace std; /*二进制文件的读写 实现类的序列化*/ class Teacher{ public: Teacher() //默认构造函数 { this-&amp;gt;age = 33; strcpy(name, &quot;&quot;); } Teacher(int age...
Wince当作U盘识别时间长的解决方式
问题:把wince6 插到PC端识别成U盘,需要时间太长,大约20多秒。 调查:发现在通信过程中,PC机老是会发 0x23指令,而次指令并不支持。导致reset。           一个U盘插上,Windows要连续的发送12h(INQUIRY),23h(READ FORMAT CAPACITIES),25h(READ CAPACITY),28h(READ10),           如果
Unity序列化中遇见的一点小坑
    最近做一个序列化功能需求时,遇到了一点小坑记录一下。在C#中常见的序列化的方法:BinaryFormatter、SoapFormatter、XmlSerializer。     我首先选择了BinaryFormatter类进行序列化和反序列化,它的优点就是以缩略型二进制格式写到一个文件中去,速度比较快,而且写入后的文件已二进制保存有一定的保密效果。如果类成员中有不想被序列化的对象,可以用N...
BinaryFormatter
.NET Framework 类库 BinaryFormatter 类 以二进制格式将对象或整个连接对象图形序列化和反序列化。 命名空间:System.Runtime.Serialization.Formatters.Binary 程序集:mscorlib(在 mscorlib.dll 中)
WinCE对象传递到线程中
线程如下: DWORD LoadThumbThead(LPVOID lpParameter) {  CPhoneDlg *lpDlg = (CPhoneDlg*)lpParameter;  lpDlg-&amp;gt;成员名; } 在MFC中启动线程: CreateThread(NULL, 0, LoadThumbThead, (LPVOID)this, 0, NULL);  ...
WinCE 下实现 ping 功能
需要包括的头文件与库文件: #include "Winsock2.h" // PING #include "Ipexport.h" #include "Icmpapi.h" #include "winsock.h" extern HWND ghMainWnd; #pragma comment (lib, "Iphlpapi.lib") #pragma comment (lib, "Ws2.
win CE车载一体机格式化内置卡使用
win CE车载一体机格式化内置卡使用不少车主内置卡华阳机车友(尤其5月后机器)在经历内置卡被塞满后,都为内置卡容量不一的缩水问题而烦恼,原车8G卡容量莫名其妙减少了很多,我见过最少的,容量已不足2G,开始有车友用原车控制面板-储存管理器方法格式化内置卡,由于方法不对,造成机器失去SD卡而变砖头,终于有机会经测试找出正确格式化方法,为使步骤及按钮清晰化,用中文版及英文版对照截图来说明问题
c# wince多个窗体共用一个主框架
仅供学习交流,还有一些Bug 1.基本的用户控件  public partial class BaseView : UserControl     {         public BaseView()         {             InitializeComponent();         }         protected MainForm pare
C#的深复制(Deep Clone)
public object Clone() { BinaryFormatter bf = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); bf.Serialize(ms, this); ms...
WINCE 文本读写操作总结
1.C语言函数fopen(),式例代码: // File.cpp : 定义控制台应用程序的入口点。 // #include #include int _tmain(int argc, _TCHAR* argv[]) { // 创建或打开二进制文件,并以追加方式打开 FILE *pFile=_tfopen(_T("//NAND2//FileLog1.txt"), _T("wab+")); if(pFile) { fwprintf(pFile, _T("%s/n"),
判断一个整数转换成二进制后1的个数
判断一个整数转换成二进制后1的个数,大致有三种方法,分别是左移位、右移位和与运算。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java班级与对象 人工智能培训对象