Here's giải thích quy tắc mà tôi đang cố gắng hiểu. Dưới đây là mã được đơn giản hóa mà Trình phân tích mã đã phàn nàn về:CA1034: Các loại lồng nhau không được hiển thị
Public Class CustomerSpeed
Public Enum ProfitTypeEnum As Integer
NotSpecified = 0
FlatAmount = 1
PercentOfProfit = 2
End Enum
Private _ProfitTypeEnum As ProfitTypeEnum
Public Sub New(ByVal profitType As ProfitTypeEnum)
_ProfitTypeEnum = profitType
End Sub
End Class
Nếu enum chỉ liên quan đến lớp học, tại sao điều xấu là làm cho nó trở thành loại chứa trong lớp? Có vẻ gọn gàng với tôi ...
Có ai biết những gì có nghĩa là dòng sau ?:
loại lồng nhau bao gồm các khái niệm về khả năng tiếp cận thành viên, trong đó một số lập trình viên không hiểu rõ
Sử dụng Không gian tên để nhóm lớp và Enum không có vẻ giống như một cách hữu ích để giải quyết cảnh báo này, vì tôi muốn cả hai enum thuộc về cùng cấp cha mẹ như tên lớp.
Như bạn biết nếu bạn đọc đủ những gì tôi đã viết, tôi đã không mua đối số khả năng khám phá hoặc khả năng sử dụng, bởi vì với Intellisense làm việc như trong VS2005 thay vì năm 2010, tôi không nghĩ rằng đó là một vấn đề.Nhưng pt mới của bạn, tôi hoàn toàn đồng ý. Tôi đã xem xét nó một thời gian ngắn trên của riêng tôi nhưng bị mất tập trung vì nó không được đưa lên bởi bất cứ ai. Tôi phải thừa nhận không có một sự bảo vệ cho lập luận đó và không mong đợi để có một sau này, vì vậy ... Tôi tin chắc trên cơ sở này một mình. Điều đó dường như với tôi là đủ lý do để không nhúng enums vào các lớp học. Cảm ơn! – ChadD