От: | Vaako | ||
Дата: | 05.11.14 07:53 | ||
Оценка: |
public class Class1
{
public int X;
public string S;
//public decimal FFF;
}
public interface IClassCall
{
string foo(Class1 xxx);
}
public class ClassY : IClassCall
{
string IClassCall.foo(Class1 xxx)
{
return string.Format("Calss1: x={0}, S={1}", xxx.X, xxx.S);
//return string.Format("Calss1: x={0}, S={1}, FFF={2}", xxx.X, xxx.S, xxx.FFF);
}
}
private void Button_Click_PRESS(object sender, RoutedEventArgs e)
{
IClassCall y = new ClassY();
var x = new Class1();
x.X = 10;
x.S = "11";
var msg = y.foo(x);
MessageBox.Show(msg);
return;
}
Компилирую программу и библиотеку и выкладываю в папку, потом изменяю библиотеку расширяя определение класса, компилирую подкладываю в папку с программой и все по прежнему работает.---------------------------
---------------------------
Calss1: x=10, S=11
---------------------------
ОК
---------------------------
public class Class1
{
public int X;
public string S;
public decimal FFF;
}
public interface IClassCall
{
string foo(Class1 xxx);
}
public class ClassY : IClassCall
{
string IClassCall.foo(Class1 xxx)
{
//return string.Format("Calss1: x={0}, S={1}", xxx.X, xxx.S);
return string.Format("Calss1: x={0}, S={1}, FFF={2}", xxx.X, xxx.S, xxx.FFF);
}
}
Насколько этот прием работает? не возникнут ли последствия в будущем?---------------------------
---------------------------
Calss1: x=10, S=11, FFF=0
---------------------------
ОК
---------------------------