VB 2008 .NET 3.5VB.NET에서 개체의 인스턴스화를 다른 (부모) 개체로만 제한 할 수 있습니까?
온라인 주문 시스템의 일부 유형을 나타내는 Order와 OrderItem의 두 클래스가 있다고 가정합니다. OrderItem은 주.의 단일 행 항목을 나타냄니다. 하나의 주.에는 OrderItem의 List 양식으로 여러 OrderItem을 포함 할 수 있습니다.
Public Class Order
Public Property MyOrderItems() as List(of OrderItem)
End Property
End Class
주문이 없으면 OrderItem이 없어야합니다. 즉, OrderItem 클래스는 자체적으로 인스턴스화 할 수 없어야하며 OrderItem 클래스를 포함하고 인스턴스화해야하는 Order 클래스에 종속되어야합니다. 그러나 OrderItem은 다른 오브젝트에서 속성에 액세스 할 수 있도록 범위가 공개되어야합니다. OrderItem의 요구 사항은 다음과 같습니다.
Order 클래스에서만 인스턴스화 할 수 있습니다.
다른 개체가 Order 개체를 통해 다른 개체의 속성/메서드에 액세스 할 수 있도록 공개이어야합니다. 예 : Order.OrderItem (0) .ProductID.
OrderItem이 작동 할 다른 하위/함수로 전달 될 수 있어야합니다.
어떻게 이러한 목표를 달성 할 수 있습니까? 더 나은 접근 방법이 있습니까?
이것은 제가 본 가장 우아한 해결책입니다. 나는 이것을 수행하기 위해 어떤 유형의 언어 구조가 있었으면 좋겠다. 나는 집계/복합 클래스를 많이 사용한다. –
그런 선언은 어셈블리가'IOrderItem'을 구현할 수는 없지만 적합하다고 생각하고, 그러한 구현을 'OrderItem'과 같은 방식으로 구현 될 것으로 예상되는 순진한 코드에 전달하겠습니까? – supercat