反射铸造。

我有一个带有一些字段的对象,并且正在使用反射来迭代该对象的字段。该对象被序列化和反序列化。我正在编写反序列化例程。我想遍历字段,从反序列化SerializationInfo中获取值。在开始实施反射之前,我手动进行了所有操作:


public SKA_MAP(SerializationInfo info, StreamingContext ctxt)

{

    //Get the values from info and assign them to the appropriate properties

    DISP_SEGS = (int)info.GetValue("DISP_SEGS", typeof(int)); 

    //other fields followed

}

现在:


public SKA_MAP(SerializationInfo info, StreamingContext ctxt)

{

    //Get the values from info and assign them to the appropriate properties

    //DISP_SEGS = (int)info.GetValue("DISP_SEGS", typeof(int));


    foreach (FieldInfo FI in this.GetType().GetFields())

    {

        FI.SetValue(this, info.GetValue(FI.Name, FI.GetType()));

    }

}

我懂了


'从'System.Int32'到'System.Reflection.RtFieldInfo'的无效转换。


好的,是的,但是我在其中放置了不同的演员表“未显示”,什么也没有。


HUX布斯
浏览 135回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP