C# эквивалент memcpy
[изменить] относительно вашего serialize разъяснения: Насколько я serialization понимаю, у вас есть N объектов, каждый csharp из которых имеет (прямую) ссылку deserialize на объект шаблона. Вы хотите serializer выполнить обратную запись serialisation в шаблон, чтобы все объекты deserialize «видели» эти изменения.
Предложение: внедрить copying брокер шаблонов.
class TemplateProvider
{
public MyData Template { get; set; }
}
Вместо передачи c-sharp шаблона передайте объекту c#.net поставщика шаблона.
Чтобы serialization упростить синтаксис компонентов, вы serialisation можете добавить свойство c#-language (частное / внутреннее?)
MyData Template { get { return m_templateProvider.Template; } }
void UpdateTemplate() { m_templateProvider.Template =
(MyData) this.MemberwiseClone(); }
Провайдер visual-c# шаблонов также упрощает блокировку c#.net в многопоточных сценариях.
Короче unserialize говоря, только если вы не serialized сделаете это сами. Но почему c# бы не создать новый объект, если c# вы все равно переопределите csharp все свойства?
memcopy
и аналогичные serializing конструкции низкого уровня unserialize не поддерживаются, поскольку serialization они подрывают гарантии, предоставляемые copying средой.
Мелкая копия структур serialisation создается путем присваивания. Для visual-c# классов это метод MemberwiseClone
, но, как copying вы говорите, это создает visual-c# новый объект.
Для этого нет serialisation встроенного способа, и, поскольку c# он потенциально нарушает serialization инкапсуляцию, его в любом c# случае следует использовать .cs-file с осторожностью.
Вы можете visual-c# создать общую процедуру, используя c-sharp отражение, но будет ли она serialized работать или нет, зависит c-sharp от самого класса. И да, это deserialize будет сравнительно медленно.
Осталось csharp лишь поддержать его с помощью serialize настраиваемого интерфейса. Вы c-sharp можете предоставить обычную serialisation подпрограмму «Shallow Copy», которая c# проверяет интерфейс и использует c# его, а в противном случае serializer возвращается к отражению. Это c# делает функциональность общедоступной, и c-sharp вы можете оптимизировать serialize классы, для которых производительность csharp имеет значение позже.
c#
serialization
copying
C# эквивалент memcpy
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.