小编Bil*_*ang的帖子

OnSerializingAttribute vs ISerializable

我在msdn上阅读自定义序列化文章:http://msdn.microsoft.com/en-us/library/ty01x675%28VS.80%29.aspx

它提到有两种实现自定义序列化的方法:
1,使用OnDeserializedAttribute, OnDeserializingAttribute, OnSerializedAttribute, OnSerializingAttribute
2,实现ISerializable接口

根据MSDN,方法#1是"最佳实践和最简单",但我不明白这两种方法是如何相同的.据我所知,这些OnSerializing|OnSerialized|etc属性允许您将方法挂钩到序列化的特定阶段,而ISerializable界面允许您直接修改进入和离开的内容SerializationInfo.它是否正确?

为了将我的困惑置于上下文中,如何实现OnSerializing以不同的名称序列化对象字段?像下面的代码:

public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
    info.AddValue("i", n1);
    info.AddValue("j", n2);
    info.AddValue("k", str);
}

更新:虽然Frederik Gheysels的答案并不完全正确(使用Serializable进行装饰是OnSerializing/OnDeserializing属性和ISerializable接口的先决条件),但他确实指出OnSerializing/OnDeserializing属性是ISerializable的补充,所以我是在这一点上接受他的回答.

.net c# serialization

6
推荐指数
1
解决办法
1925
查看次数

在句子中查找单词

在以下示例中:

fn main() {
  let str_vec: ~[&str] = "lorem lpsum".split(' ').collect();

  if (str_vec.contains("lorem")) {
    println!("found it!");
  }
}
Run Code Online (Sandbox Code Playgroud)

它不会编译,并说:

error: mismatched types: expected &&'static str 
but found 'static str (expected &-ptr but found &'static str)
Run Code Online (Sandbox Code Playgroud)

在句子中查找单词的正确方法是什么?

rust

3
推荐指数
1
解决办法
2428
查看次数

window.parent总是在iframe中未定义

我最近遇到了这个奇怪的问题,我试图在iframe中引用父窗口,但不知何故window.parent或parent总是未定义.

我通过使用window.top解决了这个问题,但是这个问题仍然困扰着我.

为什么window.parent未定义?

这是一个.NET Web应用程序,如果有帮助的话.

更新:我想补充一点,父和子iframe都指向同一个域(localhost).至于代码,我尝试了以下代码:

if (parent != null)
{
  // do something
}
Run Code Online (Sandbox Code Playgroud)

在哪里做某事永远不会发生,我也尝试过

alert(parent)
Run Code Online (Sandbox Code Playgroud)

alert(window.parent)
Run Code Online (Sandbox Code Playgroud)

他们总是出现无效.

html javascript dom

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

标签 统计

.net ×1

c# ×1

dom ×1

html ×1

javascript ×1

rust ×1

serialization ×1