Runtime: рдкреНрд░рд╢реНрди: .Net рдХреЛрд░ 1.0 рд╕реЗ рдЖрдЧреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕реАрд░рд┐рдпрд▓рд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдкреЛрд░реНрдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдорд╛рд░реНрдЪ 2016  ┬╖  38рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/runtime

рдирдорд╕реНрддреЗ,
рдореИрдВрдиреЗ .Net рдХреЛрд░ 1.0 рдореЗрдВ рдмрдВрдж рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред (рд╕реНрдореГрддрд┐ рд╕реЗ рдкрд░рд╛рд╢реНрд░рд╡реНрдп) рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ? рдХреНрдпрд╛ рдореЗрд░реЗ рдХреЛрдб-рдмреЗрд╕реНрд╕ рд╣реИрдВ рдЬреЛ рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореИрдЯрд░ рдХреЗ рд╕реАрд░реАрдЬрд╝рд▓рд╛рдЗрдЬрд╝ рдФрд░ рдбрд┐рд╕реНрдХреНрд░рд┐рдЕрд▓рд╛рдЗрдЬрд╝ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдкреНрд░реЛрдЯреЛрдмреБрдлрд╝-рдиреЗрдЯ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛? рдпрд╛ рдореБрдЭреЗ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж,
-рд╕рд╛рдо

area-Serialization question

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреА рддрд░рд╣ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ? рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддреЛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред рдЕрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ - рдХреЛрдИ рдмреИрдХ-рдЯреЙрдХ рдирд╣реАрдВ! рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд╣реИрдВ, рдФрд░ рдЙрдирдХреА рд░рд╛рдп рд╣рд░ Microsoft рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд╕рд╛рдореВрд╣рд┐рдХ рдЬреНрдЮрд╛рди рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реИред рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рд▓реЛрдЧ Microsoft рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдкрд░ рдорд┐рд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдорд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ .NET рдХреЛрд░ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рдиреЗ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛ рдЦрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рд╛, рдЖрдк рдмрд╕ рд╕рдордп рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рдереЗред рдЖрдк рдЕрдм рддрдХ рдХрд░ рдЪреБрдХреЗ рд╣реЛрддреЗред

рд╕рднреА 38 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп @ рдЬреЛрд╢рдлреНрд░реА , рд╣рд╛рдБ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡рд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдерд╛ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдереАред рд╡рд╣рд╛рдБ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ, JSON.NET json serialization рдХрд░рддрд╛ рд╣реИ, protobuf-net рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ datacontractserializer xml рдХреНрд░рдорд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде, рдЕрдЧрд░ рдореИрдВ рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЬрдмрдХрд┐ рдкреНрд░реЛрдЯреЛрдмреЙрдл-рдиреЗрдЯ рдПрдХ рдорд╣рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдпрд╣ рд╕реАрдорд┐рдд рд╣реИред Protobuf-nets repo рд╕реЗ, рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
рдХрд╕реНрдЯрдо рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛ:
рдбреЗрдЯрд╛-рдЕрдиреБрдмрдВрдз рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ
рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд░рд╣рд┐рдд рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИ
рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИрдВ
рдХрдИ рд╕рд╛рдорд╛рдиреНрдп рдЖрджрд┐рдо
рдПрдХрд▓ рдЖрдпрд╛рдо рд╕рд░рдгрд┐рдпрд╛рдБ: T []
рд╕реВрдЪреА / IList
рд╢рдмреНрджрдХреЛрд╢ / IDEDIA
рдХреЛрдИ рднреА рдкреНрд░рдХрд╛рд░ рдЬреЛ IEnumerable рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдРрдб (T) рд╡рд┐рдзрд┐ рд╣реИ
рдЕрддреАрдд рдореЗрдВ рдпрд╣ рдареАрдХ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдирд░реАрдлреЙрд░реНрдореЗрдЯрд░ рд╣рдореЗрд╢рд╛ рд╕реЗ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдкреНрд░реЛрдЯреЛрдмреБрдл-рдиреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЧреИрд░-рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреНрд░рдорд╛рдВрдХрди рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕реНрд╡рдпрдВ рдХрд░реЗрдВ?
рдореИрдВ рдЕрднреА рднреА рдЗрди рд╕рднреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд┐рд╕реА рдЪреАрдЬ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд░рдЦ рд╕рдХрддрд╛ рд╣реИ), рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЕрдЬрд╝рд╛рди ...)ред

@ LCDrnet рдкреЙрдЗрдВрдЯ рдСрд░рд▓рд┐рдпрдиреНрд╕ рд▓реЛрдЧ IIRC рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рд╕реНрдЯрд┐рдХрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╣реИред

Hi @SamuelCox , рдЬреИрд╕рд╛ рдХрд┐ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЧрд╛рдЗрдбреЗрдВрд╕ @joshfree рдиреЗ рдмрддрд╛рдпрд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (

@cdrnet рдФрд░ @ RichiCoder1 , рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдкрд╡рд╛рдж рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рдбреЙрдЯрдиреЗрдЯ / рдХреЙрд░реНрдХреНрд▓рд░ # 2715 рдерд╛ред рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, .NET рдХреЛрд░ рдкрд░ ISerializable рдХреЗ рдмрд┐рдирд╛, рд╣рдо рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рдп @ рдХрд╛рд░реНрд▓рд╛рдпрди , рдореБрдЭреЗ рд╢рд╛рдпрдж рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдореБрдЦреНрдп рдХрд╛рд░рдг рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдмрд╛рдЗрдирд░реАрдлреЙрд░реНрдореЗрдЯрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рдХрд░ (рдбреА) рдХреНрд░рдордмрджреНрдз рд╣реЛ, рдФрд░ рдХрд╕реНрдЯрдо рдХрдХреНрд╖рд╛рдПрдВ рдЬрд┐рдирдореЗрдВ рдЕрдкрд╡рд╛рдж рд╣реИрдВред

рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ tcp / ip рдкрд░ рднреЗрдЬ рд╕рдХреВрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ JSON.NET рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ JSON рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реАрд░рд┐рдпрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ, рдЙрд╕ рдкрд░ tcp / ip рднреЗрдЬреЗрдВ рдФрд░ рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░ рдПрдХ рдмрд╛рд░ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЙрд▓рдЯ рджреЗрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╛рдВрдХрди рдФрд░ рдПрдХ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рд╕реЗ рдЗрдЪреНрдЫрд┐рдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП deserializing рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрд░рд┐ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @SamuelCox рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдм рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдмрд╛рдЗрдирд░реА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдПрдХ рдХрд░реАрдмреА рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдореИрдВ рдЖрдкрдХреЛ Xml рдпрд╛ JSON рдЬреИрд╕реЗ рдЕрдиреНрдп рдЦреБрд▓реЗ рдорд╛рдирдХ рдЖрдзрд╛рд░рд┐рдд рдХреНрд░рдорд╛рдВрдХрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ред рдЖрдЬ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ / рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░рдорд╛рдВрдХрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреЗрд▓реЛрдб рдХрд╛ рдЖрдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рддреЛ рдЖрдк рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдЬрдХрд▓ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рд╣реИред

рдореИрдВ рдХреБрдЫ рдФрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдХреНрд░рдордмрджреНрдз рдФрд░ рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рд╕реАрдзреЗ рдмрд╛рдЗрдирд░реА рдФрд░ рдмреИрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрд░реНрдмрд╛рдж рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдм рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХрдо рд╕реЗ рдХрдо рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдорд┐рд▓рд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 4.6 рдФрд░ рдХреЛрд░ 1.0 рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдЦреЛрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдХреНрдпреЛрдВред

рдмрд╛рддрдЪреАрдд рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рд╣реЛ рдЧрдИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯ рд╣реИрдВ:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдирдирд╛ тАЛтАЛрдЧрд▓рдд рд╣реЛрдЧрд╛ рдХрд┐ рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдорд░ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ .NET рд░реАрдореЛрдЯрд┐рдВрдЧ рдФрд░ рдРрдкрдбреЛрдореЗрдВрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЕрдкрдиреЗ рдирдП рд╕рдордХрдХреНрд╖реЛрдВ рд╕реЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд (рдЕрдкреНрд░рдЪрд▓рд┐рдд) рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореЗрдЯ рдХреЛ рдХреНрдпрд╛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рджреЗрд╢реА .NET рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреА рдЗрд╕рдХреА рд╕рд░рд╛рд╕рд░ рдХреНрд╖рдорддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреНрд▓реЛрдЬрд╝рд░, рдЙрдкрдкреНрд░рдХрд╛рд░ рдФрд░ рдЪрдХреНрд░реАрдп рдЧреНрд░рд╛рдл рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХреЛрдИ рднреА рдЕрдиреНрдп рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХрдХрд╛рд░ рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХреЛрдИ рд╕рдВрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдИ рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЬрд┐рдирдореЗрдВ Microsoft рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рдЬрдирд╛ рдФрд░ рдореЛрдмрд┐рдпрд╕ (рдЙрд░реНрдл рд╕реНрдкрд╛рд░реНрдХрд▓рдЖрд░) рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореИрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ .NET рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдирдиреНрдп рдирд╣реАрдВ рд╣реИ: рд╕реНрдкрд╛рд░реНрдХ рдкреБрд░рд╛рдиреЗ рдФрд░ рдзреАрдореЗ рдЬрд╛рд╡рд╛ рдмрд╛рдЗрдирд░реА рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╕рдорд╛рдкрди рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

рдРрд╕реЗ рдЕрдиреНрдп (рдиреЙрди-рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдореЗрдЯ) рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╣реИрдВ рдЬреЛ рдмрд╛рдЗрдирд░реАрдлреЙрд░реНрдореЗрдЯрд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ mbrace рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╣рдорд╛рд░реА рдмрд╣реБрдд рд╣реА FsPickler рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, CoreCLR рдиреЗ рдХрдИ рдкреНрд░рдореБрдЦ APIs рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ CoreCLR рдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдПрдХ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рдпрд╛рд╕ рд╣реИред

рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд╝рд░реВрд░реА рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд┐рддрд░рд┐рдд рдХреА рдЧрдИ рдЧрдгрдирд╛ / рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдбреЛрдореЗрди рдореЗрдВ CoreCLR JVM рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рддрд┐рдпреЛрдЧреА рдмрди рдЬрд╛рдПред рдпрд╣ POCO рдФрд░ рдХреНрд▓реЛрдЬрд░ (рдмрд╛рдЗрдирд░реА рдпрд╛ рдЕрдиреНрдпрдерд╛) рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХреНрд░рдорд╛рдВрдХрди рд╕рдорд░реНрдерди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреА рддрд░рд╣ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ? рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддреЛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред рдЕрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ - рдХреЛрдИ рдмреИрдХ-рдЯреЙрдХ рдирд╣реАрдВ! рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд╣реИрдВ, рдФрд░ рдЙрдирдХреА рд░рд╛рдп рд╣рд░ Microsoft рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд╕рд╛рдореВрд╣рд┐рдХ рдЬреНрдЮрд╛рди рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реИред рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рд▓реЛрдЧ Microsoft рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдкрд░ рдорд┐рд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдорд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ .NET рдХреЛрд░ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рдиреЗ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛ рдЦрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рд╛, рдЖрдк рдмрд╕ рд╕рдордп рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рдереЗред рдЖрдк рдЕрдм рддрдХ рдХрд░ рдЪреБрдХреЗ рд╣реЛрддреЗред

fwiw, CSLA .NET рдкреВрд░реНрдг-рдирд┐рд╖реНрдард╛

рдЬрдм Silverlight рд╕рд╛рде рдЖрдИ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореЗрдЯрд░ рдпрд╛ NetDataContractSerializer рдирд╣реАрдВ рдерд╛, рддреЛ _and_ рдореЗрдВ рдЙрди рд╕рднреА рдЧрдВрджреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕реАрдорд╛рдПрдВ рдереАрдВ, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬреЛ рдиреНрдпреВрдирддрдо рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмреАрдПрдл рдпрд╛ рдПрдирдбреАрд╕реАрдПрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреЗ рдмрд╛рдж рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдореБрджреНрджрд╛ рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреАрдПрдл / рдПрдирдбреАрд╕реАрдПрд╕ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА, рд╡рд┐рдирдЖрд░рдЯреА, рдПрдирдЯреАрдИрдЖрд░рдЯреА, рдЖрджрд┐ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреВрд░реНрдг-рдирд┐рд╖реНрдард╛ рд╡рд╛рд▓рд╛ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ _ _ould__ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо imo) рдпрджрд┐ рдпрд╣ .NET рдХреЗ рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рдЕрд╡рддрд╛рд░реЛрдВ рдкрд░ рдореМрдЬреВрдж рд╣реИред

рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП @rockfordlhotka @opinionmachine @eiriktsarpalis рдЦреБрд╢реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ @opinionmachine рдХрд╣рд╛ рджреВрдВрдЧрд╛

рдореБрдЭреЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбреНрд░рд╛рдкрд┐рдВрдЧ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди (рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде) рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрддрд╛ рдХрд┐ рдирд┐рд░реНрдгрдп рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрд╛ рдЧрдпрд╛ рдерд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, MS рдиреЗ рдХреЛрдб рдХреЛ Appdomains рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЖрджрд┐ рдФрд░ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ coreclr рдХреЛ .net рдХрд╛ "рд╕рд░реНрд╡рд░" рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рд░реНрд╡рд░ рдлреАрдЪрд░ рдлрд░реНрд╢ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдП рдЧрдП рдереЗред

рдмрд┐рдВрджреБ рдореЗрдВ рдорд╛рдорд▓рд╛: рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ / рд╕реНрдЯреИрдХрдлреНрд░реЗрдо рдХреЛ рдХреЛрд░рдлреИрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ "рджреБрд░реБрдкрдпреЛрдЧ" рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдПрдордПрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗ рдЙрд╕ рдПрдХ рдкрд░ (рдПрдХ рдЯрди рдХреЗ рдкрд╢реНрдЪрд╛рдд) рд╣реЛрд╢ рдореЗрдВ рдЖрдП, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорддрд▓рдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ? рдЗрд╕ рд╕рд╛рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреМрди рд╕реЛрдЪрддрд╛ рд╣реИ?

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .net рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢ рд╣реВрдВ рдФрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ .net рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдХрджрдо рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╢рд╛рдирджрд╛рд░ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рд╣реИ, рдФрд░ рдпрд╣ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИред рдЬрд╣рд╛рдБ рдЙрдЪрд┐рдд рд╣реЛ, рд╡рд╣рд╛рдБ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реЗ рдореВрд▓реНрдп рд╣реИрдВ, рдмрд╕ рдпрд╣ рджреЗрдЦрд┐рдП рдХрд┐ рдпрд╣ рдиреНрдпреВрдирддрдо рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдХрд┐рддрдирд╛ рд╕рдлрд▓ рд░рд╣рд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ .net рдЙрддрдирд╛ рд╣реА рдиреНрдпреВрдирддрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реЛрдЧрд╛, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдПрдХ рдиреНрдпреВрдирддрд░ рдбрд┐рдЬрд╛рдЗрди рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЬреЛ рдХрд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдПрдордПрд╕ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@SamuelCox , рдзрдиреНрдпрд╡рд╛рдж! :-)

рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдПрдкреАрдЖрдИ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ .NET рдХреЛрд░ рд╕реЗ рдЧрд╛рдпрдм рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЕрдВрддрд░рд╛рд▓ рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ); рдХреБрдЫ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЖрдкрд╕реЗ рдЙрди рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдпрд╣ рдкреВрд░рд╛ рд╕реЗрдЯ) рдФрд░ рд╣рдо рдЖрдкрдХреЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдордирдорд╛рдиреА рд╡рд╕реНрддреБ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреНрд░рдорд╛рдВрдХрди, рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдкрд╛рд░ рдХрдард┐рди рд╣реИ; рд╡рд┐рднрд┐рдиреНрди рдЪреМрдЦрдЯреЗ рдХреЗ рдкрд╛рд░ рднреА рдХрдард┐рди рд╣реИред рдФрд░ 'рдХрдард┐рди' рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдордВрдЪ рдХреЗ рдЕрдиреНрдп рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ (рд▓рдХреНрд╖реНрдп рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ): рд╕реБрд░рдХреНрд╖рд╛, рдкреНрд░рджрд░реНрд╢рди, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ред

Json.NET + TypeNameHandling.All + PreserveReferencesHandling.All + MemberSerialization.Fields рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рд╕рднреА рддрд░рд╣ рд╕реЗ рд╡рд╣рд╛рдБ рдкрд╣реБрдБрдЪрд╛рддрд╛ рд╣реИред рдХреЛрдИ FormatterServices.GetUninitializedObject рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреЛрдИ FormatterServices.GetUninitializedObject рдирд╣реАрдВ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдмрд╛рд╣рд░реА рдкреНрд░рддрд┐рдмрд┐рдВрдм-рдЖрдзрд╛рд░рд┐рдд рдХреНрд░рдорд╛рдВрдХрди рд░реВрдкрд░реЗрдЦрд╛ рдЖрдкрдХреЛ рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред CoreCLR рдЯреАрдо рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдЗрд╕ API рдХреЛ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╣реЛрдЧреАред

рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ .NET рд╕рдореБрджрд╛рдп (рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдпрд╛ рдЕрдиреНрдпрдерд╛) Microsoft рдкрд░ рд╣рд░ рд╕рдордп рдЕрдкрдирд╛ рд╣рд╛рде рд░рдЦрдиреЗ рд╕реЗ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдмрдбрд╝реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рдлрд┐рд░ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдкрд░ рдХреЛрдИ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдИ? Json.NET рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рд╣рдо рд╣рд░ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╣реЗрдХ рднреА рд╕рдВрджрд░реНрдн рд╕реНрд░реЛрдд рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ

рдпрд╣ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ .NET рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ .. рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдпрд╣ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд╕рд░ рд╣реИ (рдЬреЛ рдХрд┐ рдПрдХ рдорд╛рдВрдЧ рд▓рдЧрддреА рд╣реИ) рдФрд░ рдорд┐рд▓рддрд╛ рд╣реИ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЙрд╕ рд╢реВрдиреНрдп рдХреЛ рднрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ

@thecodejunkie рд╕реЗ рд╣рдо рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдкреАрдЖрдИ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

FYI рдХрд░реЗрдВ: рдпрд╣ .NET Core рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: Type appDomainType = Type.GetType("System.AppDomain"); ред рдФрд░ рд╣рд╛рдБ, рдпрд╣ рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдХрд░рддреЗ рд╣реИрдВ ...ред

рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдлреНрд░рдВрдЯ рдПрдВрдб рд╕рд░реНрд╡рд░ рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдХреЛ 30% рддрдХ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рд╣реИ, рдЕрдзрд┐рдХрддрдо рд▓реЛрдб рдкрд░ 12 рдХреЛрд░ рд╕реЗ рдШрдЯрд╛рдХрд░ 2 рдХреЛрд░ рддрдХ рдЕрдзрд┐рдХрддрдо рд▓реЛрдб, 1.7Gb рд╕реЗ рд░реЗрдбрд┐рд╕ рдХреИрд╢ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ)

рдЖрдкрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдпрд╣ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╣реИ!

Netdatacontractserializer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ

рдореИрдВ рдпрд╣рд╛рдВ .net 4.6.1 рдХреЗ рдЬрд╡рд╛рдм рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдпрд╣рд╛рдВ рдЖрдпрд╛ рдерд╛ред

рдпрд╣ рдореЗрд░реА рд╕рдордЭ рд╣реИ рдХрд┐ рдпреЗ рдПрдкреАрдЖрдИ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ (рдХреНрд░рдордмрджреНрдзрддрд╛)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдФрд░ рднрдВрдЧреБрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВ, рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред

рдХреЛрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рд░рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рднреА рдореВрд▓реНрдп рд╣реИ, рдПрдХ рдЬреЛ рд╣рд▓реНрдХрд╛ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЙрд╕-рдорд╢реАрди рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░реЙрд╕-рд╡рд░реНрдЬрди рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИ

рднрдВрдЧреБрд░рддрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЗ рднреА рд╣реИрдВред

@blowdart WRT рд╕реБрд░рдХреНрд╖рд╛, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ https://blog.scrt.ch/2016/05/12/net-serialiception/?

рд╣рд╛рдБ, рдпрд╣ рдЙрд╕реА рддрд░рд╣ рдХреА рдмрд╛рдд рд╣реИред рдХреЛрдИ рднреА рдХреНрд░рдорд╛рдВрдХрди рдкреНрд░рд╛рд░реВрдк рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреЗ рднреАрддрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЦрддрд░рдирд╛рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдЗрд╕ рд╡рд░реНрд╖ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИред рдЬрдм рд╣рдо рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреНрд░рдорд╛рдВрдХрди рдЧрд┐рд░рд╛рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЦреБрд╢ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рдХрдХреНрд╖рд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛ред

@migueldeicaza @blowdart @SamuelCox
рд╕реАрд░рд┐рдпрд╕рд▓рд╛рдЗрдЬрд░реНрд╕ рдХреА рдЬрд░реВрд░рдд рди рдХреЗрд╡рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрди-рдкреНрд░реЛрдХреНрдпреЛрд░рдореЗрдВрдЯ рдореЗрдВ рднреА рд╣реЛрддреА рд╣реИред
рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рдЬрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░реЗ рдореВрд▓ рд╡рд╕реНрддреБ рдХреЛ рдареАрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓рд╛рдЦреЛрдВ-рд▓рд╛рдЦ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред
рдпрд╣ рджреЗрдЦреЛ:
https://www.infoq.com/articles/Big-Memory-Part-2

рд╕реАрд░рд┐рдпрд▓ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдПрдкреАрдЖрдИ рдХреА рдмреЗрд╣рдж рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред
рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ CLR -> рдЯреЗрдХреНрд╕реНрдЯ -> CLR рдХреЛ рдЯреЗрд▓реАрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рдж рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореЗрдЯрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рдпрд╣ NFX.Slim рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрд╛рдЬрд╛рд░ рдкрд░ рдПрдХрдорд╛рддреНрд░ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдерд╛ рдЬрд┐рд╕рдиреЗ рдкреВрд░реНрдг рд╕реАрдПрд▓рдЖрд░ рдХреНрд░рдордмрджреНрдз рдЕрд░реНрде рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдерд╛ред
рд╡рд┐рд╕реНрддреГрдд рдЧрддрд┐ рдФрд░ рдЖрдХрд╛рд░ рдЪрд╛рд░реНрдЯ рджреЗрдЦреЗрдВ:
http://aumcode.github.io/serbench/

[OnSer / Deser] рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд╕рд╛рде ISERIALizable рдЗрди-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЯреЗрд▓реАрдкреЛрд░реНрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдпрд╣ рдкреБрд░рд╛рдиреЗ рдПрдирдИрдЯреА рдХреА рддрд░рд╣ рд╣реА рдЕрдирд┐рд╡рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдХреНрдпреЛрдВ рди рд░рдЦреВрдВред
рдХрдо рд╕реЗ рдХрдо рдЬрдЯрд┐рд▓ рд╕рдВрдЧреНрд░рд╣реЛрдВ (рдЕрд░реНрдерд╛рдд рд╢рдмреНрджрдХреЛрд╢) рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

рд╣рд░ рдХреЛрдИ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ-рдмрд┐рд▓рдХреБрд▓ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рдЗрдирд░реА рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ (рдмрд╛рдЗрдирд░реАрдлрд╝реЙрд░реНрдореЗрдЯрд░ рдирд╣реАрдВ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рдЯреНрд╡рд┐рдЯрд░-рдЬреИрд╕реЗ рдРрдк рдмрдирд╛ рд░рд╣рд╛ рд╣реИ?

@itadcape рдХреЗ рдкрд╛рд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ

@ RichiCoder1
рд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓ред рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд╛рд░реНрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛рдиреА JIL рд╕рдмрд╕реЗ рддреЗрдЬ JSON рд╕реАрд░реАрд▓рд╛рдЗрдЬрд╝рд░ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреЛрдИ рднреА рдЯреЗрдХреНрд╕реНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХреЛрдВ рдХреЛ рдЫреВ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рдЗрдирд░реА рд╡рд╛рд▓реЗ рд╣реИрдВред рдкреНрд░реЛрдЯреЛрдмреЙрдл рд╕рдЪреНрдЪреЗ рдмрд╣реБрд░реВрдкрддрд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд░реЗрдЦрд╛рдВрдХрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдХреА рдХреАрдордд рдкрд░ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ:

  • рджреНрд╡рд┐рдЖрдзрд╛рд░реА Serializers рд╣рдореЗрд╢рд╛ рд╡реНрдпрд╛рдкрд╛рд░ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирд╢реАрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ
  • Serializers, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд┐рдЧ рдореЗрдореЛрд░реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рднреАред рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрдереЛрдВ рдХреЗ рдЯрди рдмрдирд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА рдХреИрд╢ рдФрд░ рдЗрди-рдореЗрдореЛрд░реА рд╕реЛрд╢рд▓ рдЧреНрд░рд╛рдл рдЯреНрд░реИрд╡рд░реНрд╕рд▓реНрд╕)
  • "рдЯреЗрд▓реАрдкреЛрд░реНрдЯреЗрд╢рди" рдПрдордПрд╕ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреА рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдмреЙрдЯ-рдЕрдк рдереАред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХрд░рдирд╛ рдЬрдм рд╕рд╣реА (рдмрд┐рдирд╛ рдбрд░рд╛рд╡рдиреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рд╣рдо рд╣рд░ рд╕рдордп рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рд╣реИ - рдЬрдм рдЖрдк DOMAIN рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдкрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ-рдЬреИрд╕рд╛ рдХрд┐, рд░реИрдХ рдореЗрдВ рдЗрд╕ рдпрд╛ рдЖрд╕рдиреНрди рдорд╢реАрди рдкрд░ рд╣реЛ

рдПрдХ "рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрдХреНрддрд┐" рдХреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ, рд▓реЛрдХрдкреНрд░рд┐рдп рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ:
http://aumcode.github.io/serbench/Specimens_Typical_Person/web/overview-charts.htm

рдмрд╕ рдЕрдЧрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрд╛рдЗрдирд░реА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рд╕рд╣рд┐рдд ISerializable рдЖрджрд┐ рдХреЛ Corefx рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
https://github.com/dotnet/corefx/tree/master/src/System.Runtime.Serialization.Formersers

@ рдХрд╛рдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ .NetStandard2.0 рдореИрдВ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ?

@ RichiCoder1 рд╣рд╛рдБ, рд╕рд╣реА рд╣реИред

@ рд╕рд░реНрдЬрди рдорд╣рд╛рди рд╣реИ!

@ рдХрд╛рд░реНрд▓рд╛рдпрди рдореИрдВ рдорд╛рдирдХ рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реАрд░рд┐рдпрд▓ рдПрдЯреНрд░реАрдмреНрдпреВрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?

@justinhelgerson рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдШреЛрд╖рдгрд╛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдиреБрд╕рд╛рд░ 2.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛?

рдпрджрд┐ рдЖрдк .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ Console App рдмрдирд╛рдпрд╛ рд╣реИ рддреЛ .spspj рдлрд╝рд╛рдЗрд▓ рдореЗрдВ <TargetFramework>netstandard2.0</TargetFramework> рдЕрдЧрд░ рдЖрдкрдиреЗ рдПрдХ Class Library рдпрд╛ <TargetFramework>netcoreapp2.0</TargetFramework> рдмрдирд╛рдпрд╛ рд╣реИ?

BTW, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд╛рдЗрдирд░реА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдЖрдк рдбреЙрдЯрдиреЗрдЯ / рдХреЛрд░рдлрд╝реИрдХреНрд╕ # 19119 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ .NET рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП [Serializable] рд╡рд╛рдкрд╕ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред

@zhenlan рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ .csproj рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣реА рдХрд┐рдпрд╛ рдЪрд╛рд▓! рдореИрдВ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдмреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реВрдВрдЧрд╛ рдФрд░ рдпрджрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ рддреЛ рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

@justinhelgerson , рд╕реНрдХреЗрд▓-рдмреИрдХ рдкрд░рд┐рд╡рд░реНрддрди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ (рд╣рдо рдЕрднреА рднреА рдЙрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ!), рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рдЬрд▓реНрдж рд╣реА рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

EgorBo picture EgorBo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sahithreddyk picture sahithreddyk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Timovzl picture Timovzl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

omajid picture omajid  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aggieben picture aggieben  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ