c# - 在类里面使用相同类型的列表是一个好的做法吗?

标签 c# oop design-patterns

我创建了一个类,并将相同类型的列表作为该类的属性。 这是好还是坏做法?

我放置相同类型的列表,因为我想仅通过一个对象来管理所有内容。 我不想创建单个对象和相同类型的对象列表。

非常感谢任何帮助!

class AssetSection
{
    public string Code { get; set; }
    public string Description { get; set; }
    public string SITEID { get; set; }
    public string PlantID { get; set; }
    public string User { get; set; }
    public string UpDateTime { get; set; }

    public List<AssetSection> AssetSections { get; set; }

    public AssetSection(string des, string code)
    {
        Description = des;
        Code = code;
    }
}

最佳答案

没关系。只要你能想象,你就可以设计和使用它。

我们来谈谈 Entity Framework 。我们创建 2 个这样的实体:

public class User : IdentityUser
{
    [Key]
    public string Id { get; set; }
    public UserProfile Profile { get; set; }
}

public class UserProfile
{
    [Key]
    public string UserId { get; set; }
    public User User { get; set; }
}

现在,当我们尝试获取当前用户时:

User user = await _userManager.GetUserAsync(User);

user 现在成为 User 类的实例。该实例有一个属性名称 Profile,该属性还有另一个属性名称 User,其类型为 User

这称为映射。所以,回答你的问题:你可以使用它。但我并不是说它或者不好,取决于模型的设计方式。

关于c# - 在类里面使用相同类型的列表是一个好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64734709/

相关文章:

java - 如何在包装器中最好地将 Map<String,Foo> 转换为 Map<MyEnum,Foo>

java - 防止对 Java/Kotlin 中的类的依赖,但允许扩展

c# - 为我的站点实现快速且相关的搜索 (C# ASP.net)

c# - 是否有编译符号来检测紧凑的框架?

c# - 是否可以像在 C# 中那样在 PHP 中创建嵌套类?

php - 如何在 OOP 中实现?

java - 在面向对象编程中,在其方法中引用接口(interface)子项是正确的方法吗?

objective-c - 递归类设计模式 : Options and Best Practices

c# - xamarin 形成清除选择器选择

c# - 用于更改项目条例的自定义排序算法