efl/src/bindings/mono/eo_mono
Yeongjong Lee 581bec9598 eolian_mono: make struct immutable
Summary:
Immutable value type is recommeneded for struct type in cs world.
`DO NOT define mutable value types.`
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/struct)

Also, this patch include refactoring of generated struct types.
1. Change field type to property type that have only getter. it will fix CA1051(ref T8397).
2. Remove internal NativeStruct. there is private field for marshalling struct instead.
3. Fix some test cases that change value inside struct. because struct is immutable.

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: woohyun, felipealmeida, Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8397

Differential Revision: https://phab.enlightenment.org/D11146
2020-01-28 14:46:10 +09:00
..
EoWrapper.cs eolian_mono: make struct immutable 2020-01-28 14:46:10 +09:00
FunctionWrapper.cs csharp: FunctionWrapper doc fixes 2019-10-30 12:43:17 +01:00
FunctionWrapper_Unix.cs csharp: FunctionWrapper doc fixes 2019-10-30 12:43:17 +01:00
FunctionWrapper_Windows.cs mono: encapsulate internal FunctionWrapper 2019-10-28 19:04:59 -03:00
NativeModule.cs mono: encapsulate internal NativeModule 2019-10-28 19:08:48 -03:00
NativeModule_Unix.cs mono: encapsulate internal NativeModule 2019-10-28 19:08:48 -03:00
NativeModule_Windows.cs mono: encapsulate internal NativeModule 2019-10-28 19:08:48 -03:00
WrapperSupervisor.cs mono: encapsulate internal iwrapper members 2019-10-29 12:23:13 -03:00
iwrapper.cs csharp: cleanup concrete class 2020-01-23 07:30:14 +09:00
meson.build csharp: Refactor wrapper lifetime. 2019-05-31 17:44:12 -03:00
workaround.cs eolian_mono: make struct immutable 2020-01-28 14:46:10 +09:00