gpt4 book ai didi

C# 自动属性 ​​- 是否可以使用默认 setter 自定义 getter?

转载 作者:太空狗 更新时间:2023-10-29 18:15:31 24 4
gpt4 key购买 nike

有可能我一开始就不应该尝试这个,但这是我目前所拥有的:

public List<int> AuthorIDs
{
get
{
var l = new List<int>();
using (var context = new GarbageEntities())
{
foreach (var author in context.Authors.Where(a => a.Books.Any(b => b.BookID == this.BookID)).ToList())
{
l.Add(author.AuthorID);
}
}
return l;
}
set; //compiler error
}

如何在没有任何自定义逻辑的情况下保留上述 setter ?在过去,我想你会使用:

set { authorIDs = value; }

现在不起作用。

这整个想法从一开始就很糟糕吗?

编辑:

回答一些人的问题:我正在尝试将 MVC 与数据注释验证、默认绑定(bind)和 Entity Framework 4.0 结合起来……但我相信失败了。

最佳答案

不,这不可能。要么一切都是明确的,要么整个属性都是自动的。无论如何,在那种情况下,setter 似乎没有任何意义......根本不应该有 setter。

此外,我认为您应该将其作为一种方法。它会让调用者更清楚地知道它执行了一个可能很长的计算。在属性中执行复杂处理也是违反准则的。

关于C# 自动属性 ​​- 是否可以使用默认 setter 自定义 getter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com