gpt4 book ai didi

c# - ProtoInclude 在抽象类中 - dll 不能相互了解

转载 作者:行者123 更新时间:2023-11-30 17:14:42 65 4
gpt4 key购买 nike

我们有以下场景:

dll1 中的一个抽象类

一个从它继承的类,在dll2中。

dll2 引用 dll1。 (所以我们不能引用子类——循环依赖)

我们如何ProtoInclude子类?类型未知。

如果这是唯一的方式,请提供运行时模型的示例文档。

最佳答案

两种选择:

  1. 使用 string 版本的程序集限定名称,而不是 typeof() - 听起来很脆弱,但实际上是 .NET 的一部分BCL 卡在一起(参见典型的 BCL 用法:EditorAttributeTypeConverterAttribute 等)

    [ProtoInclude("Full.Namespace.Type, Assembly, ...")]

    (它也应该只适用于类型+程序集,但完全版本化也可能有帮助)

  2. 在跨两个程序集的应用程序代码中在运行时执行绑定(bind)(仅在 v2 中可用):

    RuntimeTypeModel.Default[typeof(BaseType)].AddSubType(13, typeof(SubType));

关于c# - ProtoInclude 在抽象类中 - dll 不能相互了解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506475/

65 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com