Có mã # C sau đây với generic loại thuộc tính tham số:Làm thế nào để ngăn chặn StyleCop lỗi SA0102: CSharp.CsParser: Một lỗi cú pháp đã được phát hiện trong tập tin khi sử dụng các tham số kiểu generic thuộc tính
[System.AttributeUsage(System.AttributeTargets.GenericParameter)]
public class GenericParameterAttribute : System.Attribute
{
}
public class GenericClass<[GenericParameter] T>
{
}
Với bật StyleCop tích hợp (StyleCop.targets nhập khẩu csproj tập tin) StyleCop trả về lỗi và biên soạn thất bại:
Error 1 SA0102 : CSharp.CsParser : A syntax error has been discovered in file ...
Without StyleCop.targets nhập khẩu csproj tập tin biên soạn ok.
Môi trường
- StyleCop phiên bản 4.7.47.0 (có sẵn mới nhất từ http://stylecop.codeplex.com/releases/view/79972)
- .NET Framework 4,0
tôi không thể tìm thấy mã SA0102 trên StyleCop web tài liệu http://www.stylecop.com/docs/StyleCop%20Rules.html - nó có vẻ SA0102 không phải là một quy tắc StyleCop, có thể nó là mã lỗi nội bộ StyleCop.
Vì vậy, câu hỏi: Làm thế nào để ngăn chặn lỗi StyleCop SA0102?
"Đã xảy ra lỗi cú pháp trong tệp". Thật là một thông báo lỗi gây hiểu lầm. Nó phải làm rõ lỗi là từ Style Cop hơn là trình biên dịch. Mã của bạn là tốt, nhưng Style Cop không thể đối phó với [C# 6] (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6). –