От: | Visor2004 | ||
Дата: | 12.01.12 10:54 | ||
Оценка: |
public interface INativeResourceHolder [ +T ] where T : INativeResource
{
Resource : T
{
get;
set;
}
}
type of `set_Resource' method's parameter `value' must behave contravariantly
От: | catbert | ||
Дата: | 12.01.12 11:02 | ||
Оценка: | 1 (1) |
V> public interface INativeResourceHolder [ +T ] where T : INativeResource
V> {
V> Resource : T
V> {
V> get;
V> set;
V> }
V> }
V>
V>type of `set_Resource' method's parameter `value' must behave contravariantly
def pigHolder : INativeResourceHolder[Pig] = GetPigHolder()
def animalHolder : INativeResouceHolder[Animal]; // ковариантность
animalHolder.Resource = Tiger(); // если бы set не был контравариантным, можно было бы делать так