Đầu tiên, xin lỗi tên khá buồn cười của câu hỏi của tôi. Tôi không phải là người bản xứ và tôi mất 10 phút để thể hiện suy nghĩ của mình trong vài nhân vật này.Từ điển với số lượng giới hạn các loại
Điều tôi đang cố làm là tạo từ điển trong C# cho phép giá trị là int
, một số string
hoặc bool
. Điều đầu tiên tôi nghĩ đến là sử dụng Generics, nhưng theo như tôi biết, tôi chỉ có thể định nghĩa một kiểu như kiểu giá trị có thể, chứ không phải "là một trong số đó". Sử dụng object
cũng sẽ có thể, nhưng boxing có vẻ là một kẻ giết người thực hiện khá.
Có cách nào để thực hiện việc này không?
Dưới đây là một ví dụ về những gì đã đến với tâm trí tôi:
Dictionary<string, (string, int, bool)> foo = new Dictionary<string, (string, int, bool)>();
foo.Add("key1", "Hello, World!"); //Correct - Value is a string
foo.Add("key2", 37); //Correct - Value is an int
foo.Add("key3", true); //Correct - Value is a boolean
foo.Add("key4", new Foobar()); //Compiler error - Value is a Foobar
mục tiêu cuối cùng của tôi là để cung cấp một thư viện cho các nhà phát triển khác. Tính năng này sẽ cho phép chúng xác định "biến" trong thời gian chạy và cung cấp cho chúng một loại.
Edit: // Firefox' about: config trang có cái gì đó rất gần với những gì tôi muốn đạt được
Tôi đã chỉnh sửa tiêu đề của bạn. Vui lòng xem, "[Câu hỏi có nên bao gồm" thẻ "trong tiêu đề của họ không?] (Http://meta.stackexchange.com/questions/19190/)", trong đó sự đồng thuận là "không, họ không nên". –
Cảm ơn rất nhiều. Tôi đã nhìn thấy điều này khá thường xuyên và nghĩ rằng đó là thực tế phổ biến. –
Vui lòng đọc liên kết tôi đã bao gồm trong nhận xét. Nó không phải là một thực hành tốt, và tôi sửa nó khi tôi nhìn thấy nó. –