Базовый класс объявлен таким образом
Код: Выделить всё
public abstract partial class MasterDetailViewModel : ObservableObject
{
private readonly ObservableCollection items = new();
etc...
Код: Выделить всё
public partial class HomePageViewModel : MasterDetailViewModel
{
etc..
Код: Выделить всё
[Table("tenants")]
public partial class Tenant
{
//[Column("email")]
public string Email { get; set; }
//[Column("first_name")]
public string FirstName { get; set; }
[Key]
public int Id { get; set; }
etc..
Код: Выделить всё
[RelayCommand]
private void Delete(int param) //param is Id of selected list item
{
DeleteCommand_Executed(param);
}
private void DeleteCommand_Executed(int parm)
{
if (parm > 0)
{
var toBeDeleted = Items.First(c => c.Id == parm); //get the record with this Id
DeleteItem(toBeDeleted); //delete from the database
}
}
Ошибка (активная). CS1061 «T» не содержит определения для «Id» и нет доступного метода расширения «Id». ' можно найти первый аргумент типа "T" (вам не хватает директивы using или ссылки на сборку?)
Я пробовал добавить идентификатор типа var toBeDeleted = Items.First (c => c.Id == параметр);
Я просмотрел несколько похожих вопросов по SO и пару элементов, найденных в Google, и думаю, что мне говорят, что T неизвестен, пока выражение не будет выполнено, поэтому он не может знать, что свойствами Т обладает? Так возможно ли достичь моей цели — поместить все в базовый класс?
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/790 ... base-class