标签: binaryformatter

如何在c#中序列化StrokeCollection

我想在内存流中保存一个笔画用于此目的是使用BinaryFormatter但是当我尝试序列化Stroke时我得到一个错误,我无法序列化笔画

有没有办法在笔记本中保存笔画或序列化笔画?

这是我的代码的一部分

int size = inkCanvas1.Strokes.Count();
        IFormatter formatter = new BinaryFormatter();
        MemoryStream stream = new MemoryStream();
        if (size != 0)
        {
            try
            {
                formatter.Serialize(stream, inkCanvas1.Strokes[size - 1]);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# memorystream binaryformatter c#-4.0

2
推荐指数
1
解决办法
548
查看次数

通过BinaryFormatter反序列化MemoryStream

没有找到解决以下问题的方法.
我有一个工作代码用于在文件中保存/加载TreeView但我想将它保存到Properties.Settings.Default.

不幸的是,我在这行中收到错误"没有对象的地图":

object obj = bf.Deserialize(ms);
Run Code Online (Sandbox Code Playgroud)

这是(反)序列化的完整代码:
不知道如何解决这个问题.:(

public static void SaveTreeView(TreeView tree)
{
    using (MemoryStream ms = new MemoryStream())
    {
        BinaryFormatter bf = new BinaryFormatter();
        bf.Serialize(ms, tree.Nodes.Cast<TreeNode>().ToList());
        ms.Position = 0;
        var sr = new StreamReader(ms);
        Properties.Settings.Default.tree = sr.ReadToEnd();
        Properties.Settings.Default.Save();
    }
}

public static void LoadTreeView(TreeView tree)
{

    using (MemoryStream ms = new MemoryStream())
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine(Properties.Settings.Default.tree);
        sw.Flush();
        ms.Seek(0, SeekOrigin.Begin);

        BinaryFormatter bf = new BinaryFormatter();
        object obj = bf.Deserialize(ms);

        TreeNode[] nodeList = (obj as IEnumerable<TreeNode>).ToArray(); …
Run Code Online (Sandbox Code Playgroud)

c# treeview memorystream binaryformatter deserialization

2
推荐指数
1
解决办法
3647
查看次数

使用不同程序进行序列化c#

我在2个不同的项目中有2个使用序列化的程序.程序1序列化和反序列化一个名为Quiz的类的数组.Both项目具有Quiz类.程序2仅反序列化程序1序列化的内容:

private void loadSerialize(object sender, EventArgs e)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        Stream stream = new System.IO.FileStream("DataFile.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
        Quiz[] obj = (Quiz[]) formatter.Deserialize(stream);
        for(int i = 0; i< obj.Length; i++)
        {
            quizes.Add(obj[i]);
        }
        stream.Close();
    }

    private void saveSerialize(object sender, FormClosedEventArgs e) {

        Quiz[] obj = quizes.ToArray();
        BinaryFormatter formatter = new BinaryFormatter();
        Stream stream = new FileStream("DataFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
        formatter.Serialize(stream, obj);
        stream.Close();
    }
Run Code Online (Sandbox Code Playgroud)

两个程序都具有"loadSerialize"功能,而只有Program1具有"saveSerialize"功能.当我尝试在Program2中反序列化文件时,我得到一个serializationException.说(消息错误是葡萄牙语所以我把它翻译成英语):找不到程序集'infoAplicadaEnsino,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'.如何在Program2中反序列化?

.net c# serialization binaryformatter

2
推荐指数
1
解决办法
545
查看次数

将对象转换为byte []

我试图将检索到的注册表值转换objectbyte[].它存储为REG_BINARY.我试着用BinaryFormatterMemoryStream.但是,它增加了我不想要的开销信息.当我通过执行该函数将字节数组转换为字符串时,我观察到了这一点Convert.ToBase64String(..).我正在执行这些功能,因为我正在测试在注册表中存储和检索加密密钥.

c# memorystream bytearray object binaryformatter

1
推荐指数
2
解决办法
1万
查看次数

我如何序列化静态类?

我需要使用BinaryFormatter序列化静态类,这里是代码:

    void Serialize()
    {
        IFormatter formatter = new BinaryFormatter();

        using (FileStream s = File.Create("ServerInfo.bin"))
            formatter.Serialize(s, Server); // ERROR: Error 44 'Server' is a 'type' but is used like a 'variable'

    }
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

c# serialization binaryformatter

0
推荐指数
1
解决办法
2260
查看次数

使用IEnumerators检查反序列化的进度

public static object Deserialize(string path)
{
    using (Stream stream = File.Open(path, FileMode.Open))
    {
        BinaryFormatter bformatter = new BinaryFormatter();
        return bformatter.Deserialize(stream);
    }
}
SomeClass someObject = (SomeClass)Deserialize(savePath);
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含自身进度的反序列化过程.所以可能某种IEnumerator每帧更新我的进度字段.是否可以在读取文件时跟踪Formatter的位置?

当我反序列化大文件时,我想知道它是怎么回事......

c# binaryformatter unity-game-engine deserialization

0
推荐指数
1
解决办法
359
查看次数

C#BinaryFormatter字节序

我正在使用二进制格式化程序来序列化我的对象。我想知道序列化字节数组中属性的顺序是什么(根据对象类中的属性顺序?是随机地?)并且是否可以根据道具控制字节的顺序。

例如,
如果我序列化以下obj:

public class Human
{
     int Age {get;set;}
     int Weight {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

如果要序列化,字节顺序是什么意思?(前4个字节代表年龄,下一个是权重吗?依此类推..或二进制格式化程序将其随机设置)

.net c# serialization binaryformatter deserialization

0
推荐指数
1
解决办法
504
查看次数

二进制格式反序列化

我有两个程序,一个是用 C 编写的,另一个是用 C# 编写的。在C#程序中,我使用BinaryFormatter().Serialize()方法序列化数据模型,然后通过TCP套接字将序列化的二进制流发送到C程序。现在在C程序中,我想提取数据,以便我想知道如何BinaryFormatter().Serialize()生成字节流的格式。我想用 C 编写一个反序列化器函数,用于重新生成BinaryFormatter().Serialize()C# 中序列化的数据。有可用的文档或信息吗?

.net c c# binaryformatter

-1
推荐指数
1
解决办法
138
查看次数