Как изменить состояние списка, который является частью модели представления в метод расширения, поэтому вид модели отражает это изменение без необходимости повторно присвоить значениеИзменение состояния Список <T> внутри метода расширения
Код:
//ViewModel:
//This line should modify the change internally wihtout having to reassign like
// ..Selected =model.CheckBoxList.Selected.RemoveWhere(c => c.SelectedValue == null)
model.CheckBoxList.Selected.RemoveWhere(c => c.SelectedValue == null)
метод расширения:
public static IEnumerable<T> RemoveWhere<T>(this IEnumerable<T> source, Predicate<T> predicate)
{
var x = source.ToList();
x.RemoveAt(1);
source = x;
return source;
}
Update:
public class CheckBoxList
{
public CheckBoxList()
{
//Selected = new List<CheckBoxListViewModel>();
}
[XmlElement("SelectedItem")]
public List<CheckBoxListViewModel> Selected { get; set; }
}
[XmlRoot(ElementName = "MyClass")]
public class CheckBoxListViewModel
{
public string SelectedValue { get; set; }
public string SelectedDescription { get; set; }
}
Вы не можете этого сделать. Если вы хотите изменить исходный код, примите изменяемый тип. – SLaks
@Slaks: И как мне это сделать? Выбранный тип свойства - List. Код обновлен. –
Avais