2010-10-30 27 views
10

Tôi có C# lỗi khi gọi:Cách đặt đối số được đặt tên cho string.Format?

string.Format(format:"abbccc", 1,22); 

Lỗi này là "thông số kỹ thuật tham số được đặt tên phải xuất hiện sau khi tất cả các đối cố định đã được chỉ định"

Làm thế nào tôi có thể sửa lỗi này?

[Chỉnh sửa]

Tôi thích sử dụng tên thông số.

Trả lời

14

Nếu bạn muốn xác định tên của các đối số định dạng, bạn phải ghi rõ tên của các đối số sau đây cũng:

string.Format(format:"abbccc", arg0:1, arg1:22); 

Đó là không phải là rất hữu ích, như tên "arg0" và "arg1" không nói gì cả về các đối số.

Ngoài ra, chỉ có quá tải lên đến "arg2", vì vậy nếu bạn có nhiều tranh cãi, bạn phải đặt chúng trong một mảng để đặt tên cho đối số:

string.Format(format:"abbccc", args:new object[] { 1, 2, 3, 4 }); 

Bạn chỉ đơn giản là có thể bỏ qua việc đặt tên các đối số :

string.Format("abbccc", 1, 22); 
1

Trong trường hợp của tôi, tôi đã phải làm sạch và xây dựng lại các giải pháp, mà thực hiện các lỗi đi. Điều gì đã xảy ra, tôi đã thêm một đối số như thế này

schedule.ScheduleJob (Jobdetail: job, trigger);

Tôi đã nhận được một lỗi cho kích hoạt, vì vậy tôi gỡ bỏ, JobDetail :, và các lỗi cú pháp đi xa nhưng biến chứng tôi vẫn nhận được lỗi

Đặt tên kỹ thuật số phải xuất hiện sau khi tất cả các đối cố định đã được chỉ định

Tôi đã làm sạch giải pháp và xây dựng lại và lỗi đã biến mất.

Các vấn đề liên quan