C# 如何为Patch/Partial创建通用容器<;T>;信号机更新

C# 如何为Patch/Partial创建通用容器<;T>;信号机更新,c#,signalr,asp.net-core-signalr,C#,Signalr,Asp.net Core Signalr,简而言之,我希望能够执行以下操作,并且不将default()/null值分配给JSON对象(基本上是补丁对象)中未包含的属性: //↓ -- 这是——↓ 公共异步任务UpdateCustomer(PartialPatch客户) {/*做工作*/} 我试过以下几种: class部分:JObject 类分部:ExpandoObject 类:DynamicObject 但是所有抛出的都是System.InvalidCastException:无法抛出类型为…的对象,或者都是空的。我认为对于此类(

简而言之,我希望能够执行以下操作,并且不将
default()/null
值分配给JSON对象(基本上是补丁对象)中未包含的属性:

//↓ -- 这是——↓ 
公共异步任务UpdateCustomer(PartialPatch客户)
{/*做工作*/}
我试过以下几种:

class部分:JObject
类分部:ExpandoObject
类:DynamicObject

但是所有抛出的都是
System.InvalidCastException:无法抛出类型为…
的对象,或者都是空的。

我认为对于此类(一般的修补)问题没有现成的解决方案。您可以做的是跟踪JSON中的属性,然后“以某种方式”排除那些不存在的属性,当您在存储上执行更新操作时,我可以处理“以某种方式”排除。。我可以输入param作为JObject
JObject
并从那里求解。但是我需要代码生成来了解
部分。我从
JObject
继承的任何解决方案或动态类型在cast时都会失败。这是我无法逾越的一步。在HTTP中我使用了来自的代码,但在SignalR中它也无法强制转换。