2010-06-22 16 views
10

tôi có một số mã trông như thế này và tạo một danh sách từ một bộ sưu tập hiện cólà nó có thể để có một lĩnh vực có điều kiện trong một loại vô danh

var items = items.ConvertAll(r => new 
      { 
       description = FormatDescription(r), 
       start = r.Milestone.HasValue ? r.Milestone.Value.ToString("yyyy-MM-ddTHH:mm:ssZ") : DateTime.Today.ToString("yyyy-MM-ddTHH:mm:ssZ"), 
       classname = "significance" + r.SignificanceLevel, 

Như bạn có thể thấy, ngay bây giờ nếu tôi không có ngày bắt đầu (r.Milestone) sau đó tôi đưa vào ngày hôm nay. Những gì tôi thực sự muốn làm nếu nói:

  1. nếu tôi có một r.Milestone.Hasvalue hiển thị ngày đó, nếu tôi không có giá trị DONT CÓ trường START DATE trong loại ẩn danh.

Có thể có logic điều kiện này để bạn có thể loại bỏ trường tất cả cùng nhau bên trong loại mã này không?

+0

@Will Eddins - bằng cách đặt giá trị này thành giá trị rỗng, bạn vẫn không gửi trường đó lên? Tôi muốn loại bỏ các lĩnh vực từ thậm chí hiện có nếu không có một giá trị – leora

Trả lời

8

Không, bạn không thể, chủ yếu là vì nó sẽ làm cho lớp ẩn danh khác nhau trong các lần thực thi khác nhau và lớp không thể được đánh dấu chọn.

Tôi khuyên bạn nên đặt ngày Bắt đầu thành null thay vì mặc định và kiểm tra điều đó sau trong mã của bạn.

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