使用变量来修饰属性名

本文关键字:属性 变量 | 更新日期: 2023-09-27 17:53:21

在c# Asp.net中,我试图每次动态添加一个屏幕截图,并且有6个屏幕截图的限制-所以我想做一个while循环,当i小于7,并使用i变量访问模型的属性:

while (i < 7)
{
    var screenshot = new Screenshot()
    {
        ScreenshotId = addedScreenshot.Image(i),
        ScreenshotType = "Screenshot" + i,
        UserId = addedScreenshot.User.Id,
        IsVisible = true
     };
     _context.Screenshots.Add(screenshot);
     i++;
 }

这一行:addedScreenshot.Image(i)是我试图这样做的地方。

我试过addedScreenshot.Image[i]Image(i),但没有工作。我只是想让它像这样:

addedScreenshot.Image1
addedScreenshot.Image2

错误是没有名为'Image'的属性,这是正确的,但它应该将变量连接到它。

如果有人能告诉我哪里做错了,那就太好了。

使用变量来修饰属性名

你从错误的方向接近这个。如果用户决定添加第三个图像会发生什么?那么第四个呢?你会给你的模型添加越来越多的属性吗?

你的模型不应该有属性Image1Image2。它应该是List<Images> ImageList。然后使用变量i找到所需的图像。