powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# лямбда выражение в interface
10 сообщений из 10, страница 1 из 1
c# лямбда выражение в interface
    #39042406
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Как данный void описать в interface
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class A<T>, Ia
   where T : class
{
      public void ppp(Expression<Func<T, bool>> value)
      {
      }
}

public interface Ia
{
     void ppp( ??? );
}
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042440
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а причем тут ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class A<T> : Ia<T>
   where T : class
{
      public void ppp(Expression<Func<T, bool>> value)
      {
      }
}

public interface Ia<T>
{
     void ppp(Expression<Func<T, bool>> value);
}
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042447
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибся разделом.
Код: c#
1.
2.
3.
4.
public interface Ia<T>
{
     void ppp(Expression<Func<T, bool>> value);
}


Так я умею, а без Ia<T>, никак?
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042453
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше опиши саму проблему
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042480
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NechtoТак я умею, а без Ia<T>, никак?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class A<T> : Ia
   where T : class
{
      public void ppp<T>(Expression<Func<T, bool>> value)
      {
      }
}

public interface Ia
{
     void ppp<T>(Expression<Func<T, bool>> value);
}


И да - присоединяюсь к Shocker.Pro
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042499
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
// MVVM класс
public abstract class EntityViewModel<TEntity>
   where TEntity : class, new()
{
      public void NewRow()
      {
      } 

      public void EditRow(Expression<Func<T, bool>> value)
      {
           
      }
}
public interface IBase
{
     void NewRow();
     void EditRow( ??? );
}



Далее множество моделей наследующие этот класс.
Код: c#
1.
2.
3.
4.
5.
6.
7.
public class Aaa : EntityViewModel<EntityBook>, IBase
   where TEntity : class, new()
{
      public Aaa()
      {
      } 
}




Ну из команды можно будет управлять любой моделью, через интерфейс
Код: c#
1.
2.
3.
viewModel.NewRow();
or
viewModel.EditRow(x => x.Id == 21) // к примеру по Id 21
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042510
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так сделать просто два разных интерфейса для NewRow (необобщенный) и для EditRow (обобщенный)
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042517
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можете на примере показать?
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042527
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вашем сообщении какая-то каша с именами обобщенных типов? реализация не показана, может я не до конца понимаю?
Ну, допустим
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public interface IBaseNew
{
     void NewRow();
}
public interface IBaseEdit<T>
{
     void EditRow(Expression<Func<T, bool>> value);
}


Код: c#
1.
2.
((IBaseNew)viewModel).NewRow();
((IBaseEdit<int>)viewModel).EditRow(x => x.Id == 21) // к примеру по Id 21
...
Рейтинг: 0 / 0
c# лямбда выражение в interface
    #39042535
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProВ вашем сообщении какая-то каша с именами обобщенных типов? реализация не показана, может я не до конца понимаю?
Ну, допустим
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public interface IBaseNew
{
     void NewRow();
}
public interface IBaseEdit<T>
{
     void EditRow(Expression<Func<T, bool>> value);
}


Код: c#
1.
2.
((IBaseNew)viewModel).NewRow();
((IBaseEdit<int>)viewModel).EditRow(x => x.Id == 21) // к примеру по Id 21



Дело в том что я не знаю какая Entity у модели в public class Aaa : EntityViewModel< EntityBook >, IBase, я знаю только имя класса. Поэтому в IBaseEdit< сюда мне нечего поставить >. Похоже нужно пересматривать структуру
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# лямбда выражение в interface
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]