草庐IT

non-serializable

全部标签

c# - 不使用 [Serializable] 时 [NonSerialized] 的好处

我正在查看我正在处理的项目中的一些现有代码,我发现了一个实现为:publicclassThingOne{privateintA;privateintB;[NonSerialized]privateSystem.Timers.Timertimer1;}它不应该看起来更像这样吗?[Serializable]publicclassThingOne{privateintA;privateintB;[NonSerialized]privateSystem.Timers.Timertimer1;}或者即使类本身不是可序列化的,添加[NonSerialized]是否还有一些额外的好处?

c# - LINQ to SQL insert-if-non-existent

我想知道是否有更简单的方法来插入表中尚不存在的记录。我仍在努力培养我的LINQtoSQL技能。这是我得到的,但似乎应该有更简单的方法。publicstaticTEntityInsertIfNotExists(DataContextdb,Tabletable,Funcwhere,TEntityrecord)whereTEntity:class{TEntityexisting=table.SingleOrDefault(where);if(existing!=null){returnexisting;}else{table.InsertOnSubmit(record);//Can'tuse

c# - 如何在 Entity Framework 5.0 生成的所有实体中添加 Serializable 属性

我正在使用EF5.0生成POCO实体并在单独的数据访问层中使用它我想标记所有实体[Serializable]如何修改模板添加Serializable属性? 最佳答案 如果您不想编辑模板,您也可以在单独的代码文件中执行此操作-因为partial类很方便。所以如果这里的类型是My.Namespace命名空间中的Foo、Bar和Baz,就可以创建一个单独的同一项目中的文件,其中:usingSystem;namespaceMy.Namespace{[Serializable]partialclassFoo{}[Serializable]pa

c# - 如何从 [Serializable] INotifyPropertyChanged 实现者中排除不可序列化的观察者?

我有将近一百个这样的实体类:[Serializable]publicclassSampleEntity:INotifyPropertyChanged{privatestringname;publicstringName{get{returnthis.name;}set{this.name=value;FirePropertyChanged("Name");}}[field:NonSerialized]publiceventPropertyChangedEventHandlerPropertyChanged;privatevoidFirePropertyChanged(stringpro

c# - The non-generic method cannot be used with type arguments in this context 是什么意思?

我有以下类和方法:publicclassUserManager:IDisposablewhereTUser:class,global::Microsoft.AspNet.Identity.IUserwhereTKey:global::System.IEquatable{publicvirtualTaskFindByIdAsync(TKeyuserId);和:privateApplicationUserManager_userManager;publicApplicationUserManagerUserManager{get{return_userManager??Request.Ge

c# - ASP.NET Web API 和 [Serializable] 类

我有一个标有[Serializable]的类。当我从WebAPI返回它时,字段名称都很奇怪。通常返回的JSON是[{"OrderId":797...使用[Serializable]时返回的JSON[{"k__BackingField":797...我不想将其标记为可序列化以使用BinaryFormatter进行缓存。除了编写自定义序列化程序或制作不可序列化的孪生类并编写猴子代码以在两者之间“转换”之外,还有其他方法吗? 最佳答案 您只需要一行代码就可以让Json.NET再次忽略[Serializable]语义:((DefaultCo

c# - SerializationException 类型 "is not marked as serializable"- 但它是

在Windows窗体、.NETFramework4.0中,我正在尝试序列化我编写的类的实例。该类被标记为可序列化,但使用该类的表单(显然)不是。我不想序列化表单的实例。我想序列化我在类里面的数据。我类中的所有内容都标记为可序列化,那么为什么我仍然收到SerializationException?(点击>>HERE在新窗口中打开全尺寸图片)更新:这是我的BrazierCuttoff类和相关部分:[Serializable()]publicclassBrazierCuttoff:IEquatable{privateintqty;privateint[]joint,pass,shift;pr

c# - 使用 XMLRoot/XMLElement 和使用 Serializable() 属性之间的区别(在 c# 中)

使用XMLRoot/XMLElement和使用Serializable()属性有什么区别?我怎么知道什么时候使用每个? 最佳答案 这里的描述不够深入,但我认为这是一个很好的起点。XmlRootAttribute-用于为将成为被序列化对象图的根元素的类提供架构信息。这只能应用于类、结构、枚举、返回值的接口(interface)。XmlElementAttribute-为类的属性提供模式信息,控制它们如何序列化为子元素。该属性只能应用于字段(类变量成员)、属性、参数和返回值。前两个XmlRootAttribute和XmlElementA

c# - Entity Framework : Alternate solution to using non primary unique keys in an association

我知道EntityFramework不允许您使用非主唯一键作为外键关联从数据库生成模型。我可以手动修改EDMX吗?如果是这样,有人可以给我一个例子或引用吗?如果不是,还有其他可能吗?最简单的例子:这是表的DDL。您会注意到我有一个从PersonType.TypeCode到Person.TypeCode的外键CREATETABLE[dbo].[PersonType]([PersonTypeId][int]NOTNULL,[TypeCode][varchar](10)NOTNULL,[TypeDesc][varchar](max)NULL,CONSTRAINT[PK_PersonType]

c# - 低级差异 : non-static class with static method vs. 静态类与静态方法

我想知道使用具有静态方法的非静态类与具有相同静态方法的静态类的一般好处(或缺点)是什么,除了我不能使用非静态类中的静态方法作为扩展方法。例如:classNonStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromanon-staticclass.";}}与此相比:staticclassStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromastaticclass.";}}使用一种方法优于另一种方法对性能/内存有何影响?注意:假设我不需要