示例#1
0
 public override ПримитивИлиАдрес АдресВКуче()
 {
     if (АдресГруппыВкуче == null)
     {
         АдресГруппыВкуче = (ДисковоеХранилище)СобственныйАдресПримитива.АдресВКуче();
     }
     return(АдресГруппыВкуче.ПрочитатьОбъект(НомерВФайле));
 }
示例#2
0
        // собственный адрес для обратного вызова присваивается новым владельцем и сообщается источнику хранения
        public override ПримитивИлиАдрес Восстановить(Stream поток)                                 // где восстановить
        {
            var адресГдеВостановить = СобственныйАдресПримитива.СоздатьСвязь().АдресУдаленнойСвязи; // пусть эта связь доступна Как параметр
            var адресУдаленный      = (АдресУниверсальный)Создать(поток);                           // это адрес локальный АдресВХрналище, например

            var текущийадрес = new АдресУниверсальный();

            текущийадрес.АдресРегистратора         = адресГдеВостановить;
            текущийадрес.СобственныйАдресПримитива = адресГдеВостановить;
            текущийадрес.КомандаОбъекту            = new Команда("ДайЭлемент", адресУдаленный);
            АдресПримитива = текущийадрес;

            // это код для Активности или
            var канал = АдресПримитива.ТипКанала();

            var группа = АдресПримитива.АдресРегистратора;// это адрес группы

            return(base.Восстановить(поток));
        }
示例#3
0
 public override void СохранисьВ(BinaryWriter писатель)
 {
     писатель.Write(Хранилище.кодыТипов[СобственныйАдресПримитива.GetType()]);
     СобственныйАдресПримитива.СохранисьВ(писатель);
     писатель.Write(НомерБайтаВФайле); // сохраняется только адрес в файле
 }