public class Example
{
private int intVar = 0;
private string stringVar = string.Empty;
public int IntVar
{
get { return this.intvar; }
set { this.intvar = value; }
}
public string StringVar
{
get { return this.stringVar ; }
set { this.stringVar = value; }
}
private void SomeMethod()
{
//change fields in this way:
this.intVar = 50;
this.stringVar = "changed";
//or that way(through properties):
this.IntVar = 50;
this.StringVar = "changed";
}
}
어쩌면이 예에서이 차이가 없습니다하지만 만약 누군가 속성에 추가 코드를 추가하고 속성을 통해 필드를 변경하면 다른 것들이 변경됩니까?
어떤 방향으로 나아 졌는지 또는 실제로 아무런 차이가 없다고 말할 수 있습니까?
C# 3.0부터 자동 구현 된 속성을 작성할 수 있지만 C# 2.0이라는 것을 알고 있습니다.
그냥 한 가지 덧글 - 대문자로 필드의 이름과 속성이 다르다는 것은 대개 나쁜 생각입니다. 일반적으로 _intVar 및 _stringVar 필드의 이름을 지정하고 실수 타입을 잘못 호출 할 가능성을 피하거나, IntVar에서 'IntVar'를 반환하면 StackOverflowException이 발생합니다. –
힌트를 보내 주셔서 감사합니다. – adams
[Microsoft] (http://msdn.microsoft.com/en-us/library/ta31s3bc (v = vs.71) .aspx)에 따르면 접두사는 사용할 수 없습니다. 필드 이름. – Botz3000