关于Nullable<T>参数与带ProtoContract标记的多层泛型继承类的技术咨询
Nullable参数与带ProtoContract标记的多层泛型继承类的技术咨询
嘿,我先把你给出的类继承结构和相关代码整理清楚,方便咱们一起分析问题:
首先是带有[ProtoContract]标记的最终实现类Country:
[ProtoContract] public class Country : CountryCommon<Country, ConstructDB.Country> { // 类的具体实现内容未完全提供 }
它继承自抽象泛型类CountryCommon<T, T2>,这个类里还定义了一个处理Nullable<short>参数的静态方法:
public abstract class CountryCommon<T, T2> : DatabaseCachedObject<T, T2, short> where T : class { public static T GetByIDNullable(short? id) { if (!id.HasValue) return null; return GetByID(id.Value); } // 类的其他内容未完全提供 }
不过你给出的最上层父类DatabaseCachedObject<T, T2, short>的代码看起来有输入截断,目前只看到开头的publ,没法获取完整的类定义。
从现有代码来看,你应该是在处理通过Nullable<short>参数获取缓存实体的场景,同时这个实体类还用到了ProtoBuf的[ProtoContract]标记做序列化。如果有具体的问题(比如序列化时出现异常、泛型方法调用报错、缓存逻辑和序列化的冲突等),可以补充更多细节,比如具体的报错信息、你想要实现的功能目标,这样我就能更精准地帮你解决问题啦~
内容来源于stack exchange
相关产品推荐
相关产品推荐

