小编Lin*_*Dao的帖子

重写 BuildRenderTree 时是否可以获取 RenderFragments 列表?

我想知道是否可以在ChildContent组件的参数中引用子元素。我可以显式地或通过使用级联参数将值从父组件传递给子组件,但是父组件没有很好的方法来“了解” ChildContent RenderFragment. 一个可能的用例是一个组件,该组件获取在渲染过程中已添加到组件UIList的数量。UIListItemsUIList

我尝试重写BuildRenderTree组件上的方法以手动操作,ChildContent RenderFragment但我唯一的选择是渲染或忽略片段(我无法查看RenderFragment委托的内容)。

    protected override void BuildRenderTree(RenderTreeBuilder builder)
    {
        int seq = 0;
        base.BuildRenderTree(builder);
        builder.OpenElement(seq++, "div");
        builder.AddContent(seq++, this.ChildContent);
        builder.CloseElement();
    }
Run Code Online (Sandbox Code Playgroud)

我想知道下面这样的事情是否可能。请注意,下面的语法无效,只是一个说明要点的示例。

    protected int NumberOfItems{get;set;}

    protected override void BuildRenderTree(RenderTreeBuilder builder)
    {
        int seq = 0;
        base.BuildRenderTree(builder);
        builder.OpenElement(seq++, "div");
        foreach(var childFragment in this.ChildContent.GetFragments())
        {

           if(childFragment is UIListItem)
                NumberOfItems++;
           builder.AddContent(seq++,childFragment);
        }


        builder.CloseElement();
    }
Run Code Online (Sandbox Code Playgroud)

c# blazor asp.net-core-3.0

5
推荐指数
2
解决办法
6151
查看次数

NASM中符号名称定义后使用或不使用冒号有区别吗?

2个表格在不断声明中:

len equ 2
len: equ 2
Run Code Online (Sandbox Code Playgroud)

它们是一样的吗?

如果没有,那么每份申报表的优缺点是什么?

x86 assembly nasm

3
推荐指数
1
解决办法
386
查看次数

如果我在我的C程序中使用#define或const声明常量,则会出错

我使用gcc版本4.3.2(Debian 4.3.2-1.1).我在C中编写了一个简单的程序来实现和测试整数堆栈.堆栈由STACK结构实现.我使用一个名为STACKSIZE的常量来定义STACK的大小.我的程序代码如下所示:

#include<stdio.h>
#include<stdlib.h>

#define STACKSIZE 10;

typedef struct {
    int size;
    int items[STACKSIZE];
} STACK;

void push(STACK *ps, int x)
{
    if (ps->size == STACKSIZE) {
        fputs("Error: stack overflow\n", stderr);
        abort();
    } else
        ps->items[ps->size++] = x;
}

int pop(STACK *ps)
{
    if (ps->size == 0){
        fputs("Error: stack underflow\n", stderr);
        abort();
    } else
    return ps->items[--ps->size];
}

int main() {
    STACK st;
    st.size = 0;
    int i;
    for(i=0; i < STACKSIZE + 1; i++) {
        push(&st, i);
    }
    while(st.size != 0) …
Run Code Online (Sandbox Code Playgroud)

c gcc

0
推荐指数
1
解决办法
1761
查看次数

标签 统计

asp.net-core-3.0 ×1

assembly ×1

blazor ×1

c ×1

c# ×1

gcc ×1

nasm ×1

x86 ×1