На досуге разбирался с тоностями парсинга явной реализации методов дженерик интерфейсов и породил следующую конструкцию:
using System;
namespace ConsoleApplication1
{
class B<X>
{
public interface ITest1<T>
{
void Test<K>();
int Prop { get; }
}
}
class A : B<char>.ITest1<int>
{
void ConsoleApplication1.B<char>.ITest1<int>.Test<T>()
{
throw new NotImplementedException();
}
int B<char>.ITest1<int>.Prop
{
get { throw new global::System.NotImplementedException(); }
}
void B<Z>() { }
}
class Program
{
static void Main(string[] args)
{
B<char>.ITest1<int> a = new A();
a.Test<string>();
}
}
}
После того как написал глянул на это дело еще раз и понял, что в умелых руках дженерики могут стать страшной разрушительной силой.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
17.11.04 12:42: Перенесено из '.NET'