是否有 shorthand 用于插入具有多个级联值的 .NET Blazor 组件?

Is there a shorthand for inserting .NET Blazor components with multiple cascading values?

我正在处理 .NET Blazor 项目,需要将多个级联值传递给通用子窗体。以下代码应用了多个 [CascadingValue] 属性,可以很好地传递一些值,但在传递更多值时会变得有点麻烦。是否有 shorthand 用于通过单个 [CascadingValue] 属性传递多个值?如果没有,是否有更紧凑的方式来传递更多的值? (顺便说一句——我知道有其他方法可以给每个属性命名)。

<CascadingValue Value="@Value1" Name = "Name1" > 
     <CascadingValue Value="@Value2" Name = "Name2" > 
            <CascadingValue Value="@Value3" Name = "Name3" > 
                <FooComponent />
             </CascadingValue>
     </CascadingValue>
</CascadingValue>

                                                               

您可以创建一个包含所有要传递的值的对象,然后像这样使用它

<CascadingValue Value="@AnyObject" IsFixed="true">
</CascadingValue>

基于 Surinder 的回答,这里是一个扩展示例,其中包含用于获取 object.

的 child 代码

PARENT

<CascadingValue Value="@anyObject" IsFixed="True" Name="AnyName">
    <ComponentName />
</CascadingValue>

@code {        
      private ObjectType anyObject = new();
  }

CHILD

@code {
   [CascadingParameter(Name = "AnyName")]
   private ObjectType anyObject { get; set; }
}