Можно ли передавать массив как параметр в генерик?
От:
Аноним
Дата:
11.10.06 06:54
Оценка:
Господа, можно ли передавать массив как параметр в генерик?
Если можно, то почему же не помпилируется следующий код:
interface IFace<T>
{
void Foo(T[,] arr);
}
class Test : IFace<int[]>
{
// error CS0539: 'IFace<...>.Foo' in explicit interface declaration is not a member of interfacevoid IFace<int[]>.Foo(int[][,] arr) { }
}
Re: Можно ли передавать массив как параметр в генерик?
Здравствуйте, Аноним, Вы писали:
А>Господа, можно ли передавать массив как параметр в генерик? А>Если можно, то почему же не помпилируется следующий код:
А>
А>interface IFace<T>
А>{
А> void Foo(T[,] arr);
А>}
А>class Test : IFace<int[]>
А>{
А> // error CS0539: 'IFace<...>.Foo' in explicit interface declaration is not a member of interface
А> void IFace<int[]>.Foo(int[][,] arr) { }
А>}
А>
Извини, если отвлеку от твоей проблемы, а что такое [,] и для чего оно?
Re: Можно ли передавать массив как параметр в генерик?
Здравствуйте, Аноним, Вы писали:
А>Господа, можно ли передавать массив как параметр в генерик? А>Если можно, то почему же не помпилируется следующий код:
А>
А>interface IFace<T>
А>{
А> void Foo(T[,] arr);
А>}
А>class Test : IFace<int[]>
А>{
А> // error CS0539: 'IFace<...>.Foo' in explicit interface declaration is not a member of interface
А> void IFace<int[]>.Foo(int[][,] arr) { }
А>}
А>
да, и вот так комплится void IFace<int[]>.Foo(int[,][] arr) { }
Re[2]: Можно ли передавать массив как параметр в генерик?
От:
Аноним
Дата:
12.10.06 15:38
Оценка:
Здравствуйте, AlexDav, Вы писали:
AD>да, и вот так комплится void IFace<int[]>.Foo(int[,][] arr) { }
Все правильно, так и должно компилиться. А так как описал автор — не верно.
Re[2]: Можно ли передавать массив как параметр в генерик?
Здравствуйте, Красин, Вы писали:
К>Здравствуйте, AlexDav, Вы писали:
AD>>Извини, если отвлеку от твоей проблемы, а что такое [,] и для чего оно?
К>Двухмерный массив это.
Спасибо.
Re[2]: Можно ли передавать массив как параметр в генерик?
Здравствуйте, AlexDav, Вы писали:
AD>Здравствуйте, Аноним, Вы писали:
А>>Господа, можно ли передавать массив как параметр в генерик? А>>Если можно, то почему же не помпилируется следующий код:
А>>
А>>interface IFace<T>
А>>{
А>> void Foo(T[,] arr);
А>>}
А>>class Test : IFace<int[]>
А>>{
А>> // error CS0539: 'IFace<...>.Foo' in explicit interface declaration is not a member of interface
А>> void IFace<int[]>.Foo(int[][,] arr) { }
А>>}
А>>
AD>да, и вот так комплится void IFace<int[]>.Foo(int[,][] arr) { }
А кто сказал что перестановка в данном случае допустима здесь