TestReadonly
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
TestReadonly
{
classProgram
{
staticvoid Main(string[] args)
{
SupplementMapper sm = newSupplementMapper();
sm.Test();
System.
Console.ReadLine();
}
}
classSupplementMapper
{
readonlyDataLog _dataLog;
public SupplementMapper()
{
_dataLog =
newDataLog(0);
}
publicDataLog DataLog { get { return _dataLog; } }
publicvoid Test()
{
ShowVal();
var importer = newImporter();
importer.DataLog = _dataLog;
importer.Execute();
ShowVal();
}
publicvoid ShowVal()
{
System.
Console.WriteLine("val is {0}", DataLog.GetVal());
}
}
publicclassDataLog
{
int TestVal;
public DataLog(int val)
{
TestVal = val;
}
publicint GetVal()
{
return TestVal;
}
publicvoid SetVal(int newval)
{
TestVal = newval;;
}
}
publicclassImporter
{
publicDataLog DataLog { get; set; }
publicvoid Execute()
{
DataLog.SetVal(100);
}
}
}
浙公网安备 33010602011771号