Câu hỏi đơn giản, làm thế nào để bạn buộc trình biên dịch C# để ném một lỗi biên dịch.Làm thế nào để ném một lỗi trình biên dịch nếu nhiều hơn một thành viên có cùng một thuộc tính
Cập nhật: Có lẽ tốt hơn nên sử dụng số Assert.Fail()
thay thế?
Tôi có thuộc tính tùy chỉnh chỉ nên áp dụng cho ONE thành viên của một lớp học. Bên trong phương thức tĩnh của lớp khác, nó trông cho rằng một thành viên và tôi muốn nó thất bại (không ném một ngoại lệ) nếu có nhiều hơn một thành viên có thuộc tính được áp dụng cho nó.
public class Foo
{
[MyCustomAttribute]
public String FooString { get; set; }
[MyCustomAttribute]
public String OtherFooString { get; set; }
}
public class Bar<T>
where T : class, new()
{
static Bar()
{
//If more than one member of type Foo has MyCustomAttribute
//applied to it compile error or Assert.Fail()?
}
}
Tại sao bạn muốn làm điều này? – goalie7960
Assert.Fail() không ném một lỗi trình biên dịch, nó ném một khẳng định tại thời gian chạy – Matt
@Matt: Tôi biết, tôi đã tự hỏi điều gì sẽ tốt hơn .... một lỗi biên dịch hoặc lỗi xác nhận. –