gpt4 book ai didi

C# 属性设置如果

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:42 25 4
gpt4 key购买 nike

我可以在 c# 类中创建一个没有字段的属性,但我仍然可以检查值并仅在匹配时设置它吗?

我的意思是这样的:

public int Num
{
get;
set if value > 0 && value < 100;
}

我知道我可以做到:

private int num;
public int Num
{
get
{
return num;
}
set
{
if (value > 0 && value < 100)
num = value;
}
}

但我想不使用字段,而只使用属性。可能吗?

最佳答案

要清楚:顺便说一句;这并不是说该属性不会设置为该值, 这只是看待您的问题的一种不同方式。

您可以使用属性,但您需要一种方法来验证它们。例如; Range属性:

[Range(0,100, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
public int Num {get; set;}

因此,这通常用于 MVC 或 EF 之类的应用程序中,在这些应用程序中,特定框架会检查属性。

这里有关于该主题的更多信息:https://msdn.microsoft.com/en-us/library/cc668215(v=vs.110).aspx

它也可以在 MVVM WPF 应用程序中工作,但同样,您需要一个框架。

顺便说一句;这并不是说该属性不会设置为该值,这只是看待您的问题的一种不同方式。

因此,如果您的用例实际上是如何在 View 或数据模型上限制和轻松应用一些业务规则,那么这是一种可接受的方法。如果您保留原来的问题我可以做一个没有 if 和字段的条件集吗?,答案是否定的。

可以找到更多的属性here .

关于C# 属性设置如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478604/

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