commandlineparser / commandlineparser/commandline

Why is DefaultSentenceBuilder private?

Đang mở
#503 2 bình luận 1 reaction 0 người được giao Xem trên GitHub
question
Ngôn ngữ chính
C#
Star
4.8k
Fork
478
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Is there a reason that `DefaultSentenceBuilder` is marked `private`? It would be much easier to customize `SentenceBuilder` if the class were public and could be inherited.
```csharp
public class MySentenceBuilder: DefaultSentenceBuilder
{
public override Func UsageHeadingText => () => "Usage:";
}

SentenceBuilder.Factory = () => new MySentenceBuilder();
```

Another possibility would be to make `SentenceBuilder` non-abstract, move the default implementations there from `DefaultSentenceBuilder`, and then get rid of `DefaultSentenceBuilder` altogether.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu bằng cách xác định các khai báo của DefaultSentenceBuilder và SentenceBuilder, đồng thời xem xét cách SentenceBuilder.Factory được sử dụng. So sánh cách tiếp cận kế thừa được đề xuất với việc chuyển các triển khai mặc định vào SentenceBuilder, sau đó xác định hành vi tùy biến nào cần được hỗ trợ và cách hành vi đó sẽ được xác thực.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp
Lĩnh vực
cli
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.