Я загрузил и изучил исходные коды Microsoft MVC из CodePlex. Согласно исходному коду определения классов следующие:
namespace System.Web.Mvc
{
public class SelectListItem
{
/// <summary>
/// Gets or sets a value that indicates whether this <see cref="SelectListItem"/> is disabled.
/// </summary>
public bool Disabled { get; set; }
/// <summary>
/// Represents the optgroup HTML element this item is wrapped into.
/// In a select list, multiple groups with the same name are supported.
/// They are compared with reference equality.
/// </summary>
public SelectListGroup Group { get; set; }
public bool Selected { get; set; }
public string Text { get; set; }
public string Value { get; set; }
}
}
Но когда я пишу следующий код
List<System.Web.Mvc.SelectListItem> statuses = (from s in DataContext.OfferStatuses
select new System.Web.Mvc.SelectListItem
{
Value = s.Id.ToString(),
Text = s.Code,
}).ToList();
в определениях свойств класса я не вижу свойства «Отключено». Кроме того, когда я перебираю коллекцию статусов, я все еще не вижу свойства.
Почему я не вижу некоторые свойства, которые определены как общедоступные?