草庐IT

KnownType

全部标签

c# - 将 List<[KnownType]> 转换为 List<T> 以匹配函数的返回类型?

我正在尝试创建一个函数来从我的MongoDB集合中检索数据。为此,我构建了一个返回List的通用方法。.我的问题是我必须创建这个List返回,但我这样做是基于typeofT.我不确定我需要做什么来取悦编译器..publicasyncTask>GetDocsAsync(CollectionTypescollection,//EnumrepresentingmyCollectionsFilterDefinitionsearch,SortDefinitionsort=null){//GetBsonDocumentsfromthecollectionbasedonthesearchandsor

c# - 为每个派生类避免 KnownType 属性的普遍接受的方法

是否有一种普遍接受的方法来避免必须在WCF服务上使用KnownType属性?我一直在做一些研究,看起来有两种选择:DatacontractresolverNetDataContractSerializer我不太喜欢每次添加新类型时都必须静态添加KnownType属性,因此希望避免这种情况。是否应该使用第三个选项?如果是这样,它是什么?如果不是,以上两个选项中哪一个是正确的方法?编辑-使用方法第三种选择是使用反射[DataContract][KnownType("DerivedTypes")]publicabstractclassFooBase{privatestaticType[]De

c# - 为每个派生类避免 KnownType 属性的普遍接受的方法

是否有一种普遍接受的方法来避免必须在WCF服务上使用KnownType属性?我一直在做一些研究,看起来有两种选择:DatacontractresolverNetDataContractSerializer我不太喜欢每次添加新类型时都必须静态添加KnownType属性,因此希望避免这种情况。是否应该使用第三个选项?如果是这样,它是什么?如果不是,以上两个选项中哪一个是正确的方法?编辑-使用方法第三种选择是使用反射[DataContract][KnownType("DerivedTypes")]publicabstractclassFooBase{privatestaticType[]De

c# - 在与 KnownType 属性一起使用的类上使用 Obsolete 属性时如何忽略编译器警告

因此,我们试图弃用一些现有的类,并开始使用ObsoleteAttribute将它们标记为过时,以便停止使用它们。将KnownType属性与标有Obsolete属性的类型一起使用并导致编译器警告这一事实是意料之中的。但是,在我们的项目中,我们将警告视为错误,因此无法忽略警告。是否有编译器指令来抑制此警告?以下用法会导致编译器警告:///ProductTemplateDataSetismarkedwiththeObsoleteattribute[KnownType(typeof(ProductTemplateDataSet))]publicclassEntityCollectionBase

c# - 在与 KnownType 属性一起使用的类上使用 Obsolete 属性时如何忽略编译器警告

因此,我们试图弃用一些现有的类,并开始使用ObsoleteAttribute将它们标记为过时,以便停止使用它们。将KnownType属性与标有Obsolete属性的类型一起使用并导致编译器警告这一事实是意料之中的。但是,在我们的项目中,我们将警告视为错误,因此无法忽略警告。是否有编译器指令来抑制此警告?以下用法会导致编译器警告:///ProductTemplateDataSetismarkedwiththeObsoleteattribute[KnownType(typeof(ProductTemplateDataSet))]publicclassEntityCollectionBase

c# - 什么时候适合使用 KnownType 属性?

看了MSDN引用,对于什么时候使用KnownType属性,我还是有疑问。我知道该属性将类型信息传递给序列化程序,但什么时候需要这样做?当被序列化的类具有基类类型的引用并且存在可以设置为这些引用的向上转换派生类时是否合适?此外,过度使用该属性是否有任何缺点?例如,在前面的示例中,如果序列化类被标记为KnownType(baseClass),即使存在对该类型的显式引用? 最佳答案 需要[KnownType]来告诉它有关子类型的信息。不使用它的缺点是以下将不起作用:[DataContract]classFoo{}[DataContract

关于 c#:由于 KnownType \\”__type\\” 问题,无法反序列化多态字典 json

UnabletodeserializepolymorphicdictionaryjsonduetoKnownType"__type"issue我创建了一个包含多态值的字典,其中保存了一个类对象。我已成功序列化JSON。但我无法反序列化它。它给出以下错误:Element':Value'containsdataofthe':Sale'datacontract.Thedeserializerhasnoknowledgeofanytypethatmapstothiscontract.如果将JSON属性"__type"替换为"type"则它可以工作,但无法恢复正确的对象类型。在序列化之前它包含我的类类型

关于 c#:由于 KnownType \\”__type\\” 问题,无法反序列化多态字典 json

UnabletodeserializepolymorphicdictionaryjsonduetoKnownType"__type"issue我创建了一个包含多态值的字典,其中保存了一个类对象。我已成功序列化JSON。但我无法反序列化它。它给出以下错误:Element':Value'containsdataofthe':Sale'datacontract.Thedeserializerhasnoknowledgeofanytypethatmapstothiscontract.如果将JSON属性"__type"替换为"type"则它可以工作,但无法恢复正确的对象类型。在序列化之前它包含我的类类型