我讀了一篇關於Auto Properties的zillion文章,無法想出一個不像下面例子那樣的理由。我在這裏錯過了什麼;在這個例子中是否有任何理由使用常規屬性?我經常做,它工作正常。C#自動屬性設置
在StackOverflow的另一個線程(C#3.0 Automatic properties with extra logic)中,答案被聲明爲否,如「不,自動實現的屬性沒有聲明的實現。您希望提供的任何擴展實現必須使用常規屬性。 「
class Foobar
{
public string Description { get; set; }
public bool Scary { get; private set; }
public void Describe(int size)
{
if (size <= 3)
{
switch (size)
{
case 1:
Description = "Cute";
Scary = false;
break;
case 2:
Description = "Interesting";
Scary = false;
break;
case 3:
Description = "Interesting";
Scary = false;
break;
}
}
else if (size > 4 && size < 10)
{
Description = "I'm sweating!";
Scary = true;
}
else
{
Description = "I'm outta here - every man for himself";
Scary = true;
}
}
}
您發佈的代碼對我來說看起來很好。我認爲其他線程只是說「如果你添加邏輯到自動屬性,他們不再是自動的。」 – StingyJack
我無法理解你的問題你關心的是什麼想法/概念。 –
我不明白問題所在。 – MikeSW