G
greenxiar
How to get the function from "rewrited interface implement"?
interface I {
int Value { get; }
}
class A : I {
int I.Value { get { return 1; } }
}
class B : I {
int I.Value { get { return 2; } }
}
....
A a = new A();
int v = ((I)a).Value; // v = 1
B b = new B();
int v2 = ((I)b).Value; // v = 2
a = b;
v = ((I)a).Value; // v = 2 ???
....
In B, I implemented 2 times. first in A, then B.
The instance of B alway return I.Value from B implement(2)!
When break in debug mode VS show the b has
base class A, and the interface implement value
is 1(I implement in A = 1) not 2(I implment in B = 2).
It seams i can get the base rewrited interface implement,
But i donot know how.
Someone can give me some tip?
greenxiar
interface I {
int Value { get; }
}
class A : I {
int I.Value { get { return 1; } }
}
class B : I {
int I.Value { get { return 2; } }
}
....
A a = new A();
int v = ((I)a).Value; // v = 1
B b = new B();
int v2 = ((I)b).Value; // v = 2
a = b;
v = ((I)a).Value; // v = 2 ???
....
In B, I implemented 2 times. first in A, then B.
The instance of B alway return I.Value from B implement(2)!
When break in debug mode VS show the b has
base class A, and the interface implement value
is 1(I implement in A = 1) not 2(I implment in B = 2).
It seams i can get the base rewrited interface implement,
But i donot know how.
Someone can give me some tip?
greenxiar