Có thể lặp qua một đối số hàm để kiểm tra xem có bất kỳ tham số nào không (hoặc kiểm tra chúng bằng hàm tùy chỉnh khác)? một cái gì đó như thế này:C# - Sử dụng foreach để lặp qua các đối số phương thức
public void test (string arg1, string arg2, object arg3, DataTable arg4)
{
foreach (var item in argus)
{
if(item == null)
{
throw;
}
}
// do the rest...
}
từ khóa chính xác cho "argus" là gì? Tôi biết rằng điều này là có thể bởi một số chi tiết câu lệnh if nhưng tìm kiếm một cách nhanh hơn ...
Tôi nghĩ bạn sẽ cần phải nhìn vào sự phản chiếu. Những gì bạn đang cố gắng để làm dường như không có giá trị rắc rối so với cách tiếp cận đơn giản (đó là khá dễ dàng với cắt và dán). – hatchet
Điều này có thể thực hiện một cách đơn giản trong các ngôn ngữ động và các ngôn ngữ được đánh máy tĩnh với sự hỗ trợ lập trình meta. Ví dụ, Nemerle có từ khóa NotNull trong thiết kế mặc định của nó bằng thư viện hợp đồng. –
Tôi rất muốn khuyên bạn nên kiểm tra từng cá nhân và ném một ArgumentNullException với tên tham số cụ thể. Bạn có thể viết ra từng kiểm tra và ném vào một dòng, giảm thiểu mã bloat. Điều này mang lại nhiều phản hồi cụ thể hơn và không mất nhiều thời gian để viết. Bạn có thể sử dụng một đoạn mã nếu bạn muốn tiết kiệm thời gian và hầu hết các công cụ năng suất có cách để tiêm mã này (ví dụ, ReSharper có thể chèn các kiểm tra với một vài tổ hợp phím cho mỗi tham số.) Ngay cả với 'vanilla' Visual Studio, Tự động hoàn thành làm cho văn bản này bằng tay yêu cầu tổ hợp phím khá tối thiểu. –