Questo esempio è stato realizzato con lui, al fine unico di poter ottenere il comportamento evidenziato nel main.
Di contro mi è sembrato che questo semplice esempio possa tornare utile anche ad altri e quindi eccolo in pubblicazione...
public abstract class TestAbstract
{
private string _innerText = "Valore Iniziale";
public virtual string Test_A(int a)
{
PrepareInnerText(a);
return _innerText;
}
private void PrepareInnerText(int a)
{
_innerText = (a > 0 ? "Nuovo Valore"+a.ToString()
: "Immesso valore negativo");
}
public virtual string Test_B()
{
return _innerText;
}
}
public class coTest : TestAbstract
{
}
class Program
{
static void Main(string[] args)
{
coTest c = new coTest();
// Valore inziale
Console.WriteLine(c.Test_B());
// Valore positivo
Console.WriteLine(c.Test_A(1));
// valore negativo
Console.WriteLine(c.Test_A(-1));
// valore finale
Console.WriteLine(c.Test_B());
Console.ReadLine();
c = null;
coTest b = new coTest();
// Valore inziale
Console.WriteLine(b.Test_B());
Console.ReadLine();
b = null;
}
}
Si noti che il risultato atteso per Console.WriteLine(b.Test_B()); è "Valore Iniziale"
Un grazie Giovanni !
Nessun commento:
Posta un commento