Реализация свойств интерфейса в интерфейсахC#

Место общения программистов C#
Ответить
Anonymous
 Реализация свойств интерфейса в интерфейсах

Сообщение Anonymous »

Мне нужно создать dll-файл, который содержит все интерфейсы классов, но не содержит ни одного класса.
Поскольку я использую эти интерфейсы для многих классов, это должно быть так:

Код: Выделить всё

public interface IClassA
{
string Word { get; }
}

public interface ITest where TClassA : IClassA
{
TClassA A { get; }
}
Пример двух классов, реализующих эти интерфейсы так, как я хочу:

Код: Выделить всё

public class ClassA : IClassA
{
public string Word
{
get;
private set;
}

public string Sentence
{
get;
private set;
}

public ClassA(string word, string sentence)
{
this.Word = word;
this.Sentence = sentence;
}
}

public class Test : ITest
{
public ClassA A
{
get;
private set;
}

public Test(ClassA a)
{
this.A = a;
}
}
И я хочу сделать что-то подобное в основной программе:

Код: Выделить всё

public static void Main(string[] args)
{
ClassA a = new ClassA("hey", "hey world!");
Test t = new Test(a);

Print((ITest)t);
}

public static void Print(ITest t)
{
Console.WriteLine(t.A.Word);
}
Но это приведение: (ITest)t вызывает ошибку во время выполнения.
Как я могу ее решить?
спасибо!

Подробнее здесь: https://stackoverflow.com/questions/400 ... interfaces
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»