다른 클래스의 객체를 반환하는 속성을 정의한 클래스 정의가 있습니다. 클래스 정의 속성 또는 메서드?
Public Property GetAllAdults() as Adults
...
End Property
나는 그것이 클래스의 속성을 정의하지 않으며, 매개 변수 확장 할 수 없기 때문에이 클래스의 메소드해야한다는 주장을했다. 이것이 특성 대 기능으로 정의되어야하는 이유는 무엇입니까?
다른 클래스의 객체를 반환하는 속성을 정의한 클래스 정의가 있습니다. 클래스 정의 속성 또는 메서드?
Public Property GetAllAdults() as Adults
...
End Property
나는 그것이 클래스의 속성을 정의하지 않으며, 매개 변수 확장 할 수 없기 때문에이 클래스의 메소드해야한다는 주장을했다. 이것이 특성 대 기능으로 정의되어야하는 이유는 무엇입니까?
나는 이것이 실제로 어떤 행동을 수행하는 것이 아니라 단순한 게터이기 때문에, 그것은 Property로서 훨씬 더 적합하다고 주장 할 것이다.
이름이 속성이기 때문에 GetAllAdults()에서 Adults로 변경해야합니다.
또한 게터 만 있기 때문에 컬렉션이 읽기 전용이라고 생각할 수도 있습니다. 그렇지 않은 경우가 있습니다. 속성은 쉽게 데이터 바인딩 할 수 있습니다로
Public Property Adults() as ReadOnlyCollection(Of Adult)
...
End Property
이 컬렉션을 정의 : 그것은 진정으로 읽기 전용, 당신은 (가능한 경우) ReadOnlyCollection 등의 속성을 노출해야합니다 확인하십시오.
간단히 GetAllAdults()의 이름을 Adults()로 바꾸면 클래스의 속성을 정의하는 속성의 지침을 충족시킬 수 있습니다. 당신이 말했던 것처럼 확장하지 않으므로, 왜 symantics에서 간단하게 해결할 수있는 코드 연기를 생성합니까?
당신은 빠르지 만, 제가 가지고있는 모든 좋은 생각, 나는 또한 여기에서 찾을 수 있습니다! 내가 사임하고 내 대답을 삭제했습니다 :-P – jdehaan
그건 내 생각의 일종이야. 나는 방금 방탕했고, 나는 방법 대신에 속성을 사용할 수있는 가능성에 대해서는 생각해 본 적이 없었습니다. – TreK