小编Kam*_*ede的帖子

无法反序列化Lazy对象

我想序列化和DeSerialize一个包含Lazy Collection一些自定义对象的对象.

通常情况下一切都很好,但是,如果更改了用于序列化的类的名称空间,则会出现此问题.

SerializationBinder在反序列化时,我写了一个指向正确的类.但由于某种原因,我没有得到反序列化的值.

以下代码片段解释了我遇到的问题;

用于序列化的类:

namespace ConsoleApplication14
{
    [Serializable]
    public class MyInnerClass : ISerializable
    {
        private string _stringInInnerClassKey = "StringInInnerClass";
        public string StringInInnerClass { get; set; }

        public MyInnerClass() { }

        private MyInnerClass(SerializationInfo info, StreamingContext context)
        {
            StringInInnerClass = info.GetString(_stringInInnerClassKey);
        }

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue(_stringInInnerClassKey, StringInInnerClass);
        }
    }

    [Serializable]
    public class MyOuterClass : ISerializable
    {
        private string _collectionOfObjKey = "CollectionOfInnerObj";
        public Lazy<Collection<MyInnerClass>> CollectionOfInnerObj { get; set; }

        private MyOuterClass(SerializationInfo info, StreamingContext context) …
Run Code Online (Sandbox Code Playgroud)

c# serialization lazy-initialization serializationbinder deserialization

8
推荐指数
1
解决办法
480
查看次数

在C#,VS2008中隐藏ComboBox中的箭头按钮

我需要隐藏ComboBox的箭头按钮.

我想要DropDownStyle财产是平等的ComboBoxStyle.DropDownList,而不是下拉箭头可见.我能这样做吗?

我可以使用任何其他控件来显示图像的下拉列表吗?

谢谢你的帮助.

c# combobox visual-studio-2008 winforms

5
推荐指数
1
解决办法
4178
查看次数