Общие ограничения, которые позволяют типу быть 2 различными классами - PullRequest
1 голос
/ 21 марта 2012

У меня есть общая функция в VB.Net.У меня также есть два класса с именами A и B.Можно ли разрешить общие ограничения для моей функции, чтобы тип мог быть либо A, либо B?Классы A и B не имеют общих базовых классов, кроме объекта.

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

Это невозможно.Я предлагаю вам создать интерфейс с общим API двух классов и заставить оба класса реализовать этот интерфейс.

0 голосов
/ 01 мая 2014

Хотя я недавно сосредоточился на изучении Java, я обнаружил, что именно это возможно. При объявлении общих параметров можно комбинировать несколько общих ограничений с помощью оператора «&». Это выглядит следующим образом:

public class List<T extends IInterface1 & IInterface2> {
...
}

Сначала я подумал, что я хотел бы использовать это в .NET: -)

...