Tôi có một lớp học với một tài sản đó là một từ điển:Lazy thuộc tính từ điển trong C#
public class Entity
{
public Dictionary<string, string> Name { get; set; }
}
Tôi muốn chuyển tài sản này để sử dụng initializtion lười biếng. Tôi đã thử các cách sau:
public class Entity
{
private Lazy<Dictionary<string, string>> name = new Lazy<Dictionary<string, string>>(() => new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase));
public Dictionary<string, string> Name
{
get
{
return name;
}
set
{
name = value;
}
}
}
Đây là lỗi tất nhiên, vì Tên và tên có các loại khác nhau. Đối với cuộc sống của tôi mặc dù, tôi không thể tìm ra cách để xác định điều này một cách chính xác. Tất cả những gì tôi thực sự muốn là có Tên vẫn giữ nguyên cho đến khi tôi truy cập nó, sau đó tạo nó trên lần đọc hoặc viết đầu tiên.
Bạn có điều kiện chủng tộc trong đó. – LukeH
Vâng, tôi đã thêm một lưu ý về điều này có thể là khi bạn đang nhập nhận xét của mình. ;) – Vache
D'oh, có vẻ như tôi đang sử dụng găng tay [của người biến chứng] (http://thedailywtf.com/Articles/The_Complicator_0x27_s_Gloves.aspx). Đây là những gì xảy ra khi tôi trở nên say mê với một tính năng tuyệt vời. Cảm ơn, tôi sẽ đánh dấu đây là câu trả lời ngay khi SO cho phép tôi. Bây giờ, bởi vì tôi có một loạt những thứ này, tôi chỉ cần làm một số loại nhà máy cho họ. –