Мне нужно создать файл DLL, который содержит все интерфейсы классов, но не содержит никакого класса.public interface IClassA
{
string Word { get; }
}
public interface ITest where TClassA : IClassA
{
TClassA A { get; }
}
< /code>
Пример двух классов, которые реализуют эти интерфейсы так, как я хочу: < /p>
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;
}
}
< /code>
И я хочу сделать что -то подобное в основной программе: < /p>
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);
}
< /code>
Но это литье: (itest ) t < /code> допускает ошибку времени выполнения.>
Подробнее здесь: https://stackoverflow.com/questions/400 ... interfaces