C# 在razor页面中初始化类型化数组的数组

C# 在razor页面中初始化类型化数组的数组,c#,arrays,razor,blazor,jagged-arrays,C#,Arrays,Razor,Blazor,Jagged Arrays,在这里,我试图实例化并初始化一个自定义类型的数组,将其绑定到Blazor的组件中。 它是一种数组的数组。但是是类型化的,第一个封装在类中 第一级类型化集合类(LinkArray): 链接类别: public class Link { public string Title { get; set; } public string Address { get; set; } } .razor文件的代码部分中的初始化: @code{ //LinkArray[] all

在这里,我试图实例化并初始化一个自定义类型的数组,将其绑定到Blazor的组件中。 它是一种数组的数组。但是是类型化的,第一个封装在类中

第一级类型化集合类(LinkArray):

链接类别:

public class Link
{
    public string Title { get; set; }
    public string Address { get; set; }
}
.razor文件的代码部分中的初始化

    @code{
    //LinkArray[] allColz;

    // Method 1 : creating LinkArrays individually, and then trying to add each 
    // It has a constructor that can handle it via just passing the first parameter
    LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
    LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");

    //LinkArray[] allColz = new LinkArray[] { 'firstCol', 'secondCol' };
    List<LinkArray> allColz = new List<LinkArray>() { 'How to add firstCol & secondCol here');
}
@code{
//LinkArray[]allColz;
//方法1:分别创建链接数组,然后尝试添加每个链接数组
//它有一个构造函数,可以通过只传递第一个参数来处理它
LinkArray firstCol=新的LinkArray(“asd”、“asdasd”、“asdasd”);
LinkArray secondCol=新的LinkArray(“asd”、“asdasd”、“asdasda”、“asdasd”);
//LinkArray[]allColz=新的LinkArray[]{'firstCol','secondCol'};
List allColz=new List(){“如何在此处添加第一列和第二列”);
}
用法:

<CustomComp AllColz="@allColz" />


如何使用上面显示的firstCol和secondCol初始化和填充allColz?

用法非常简单:


因此,在您的组件代码中

[Parameter]列出AllColz{get;set;}

我不清楚为什么要在组件代码中设置此属性。如果要在组件中创建值,然后从外部(例如,从父组件)访问该值,则可能需要使用返回值的方法,而不是使用
参数
,例如

@code
{
公共列表GetAllColz()
{
返回奥尔科兹;
}
}

将第一级数据数组更改为
静态

static LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
static LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");
然后通过以下行添加:

LinkArray[] allColz = new LinkArray[] {firstCol, secondCol };

我认为你需要修改这个问题,让它更清楚你在做什么,你遇到了什么问题。现在它只是有点太多了vague@Quango啊,好吧,我头痛得睡不着觉,会缩小问题的范围,或者可能会重新创建主题。@Quango完成了,现在简化了。唯一的问题在最后一行。@Kasrak我不完整确定什么是LinkArray。这是razor库还是blazor库?我似乎找不到任何东西。如果这是你创建的类型之一,你也可以分享吗?@Urasquirrel LinkArray是第一个在这里发布的代码,我在代码块的上一行提到了它的名称,现在将编辑代码块,所以当然你会发现这很容易。我的问题正是你忽略的部分。@allColz不能通过GetAllColz()填充,对吗?我们怎么做?另一方面,我希望你用真实数据填充allColz,因为这是我问题的一部分。谢谢我这里的问题是关于“数组初始化”有了这些数据,您可以在“组件代码”中提供示例代码,或者演示如何绑定到GetAllColz。但是我需要使用这些数据进行完整的数组初始化。好的,您正在“GetAllColz()”中填充和初始化数据,对吗?没有问题。现在AllColz=“@AllColz”将如何触发“GetAllColz()”?
LinkArray[] allColz = new LinkArray[] {firstCol, secondCol };