File tree Expand file tree Collapse file tree 3 files changed +71
-0
lines changed
snippets/fsharp/System/NonSerializedAttribute/Overview Expand file tree Collapse file tree 3 files changed +71
-0
lines changed Original file line number Diff line number Diff line change 1+ <Project Sdk =" Microsoft.NET.Sdk" >
2+ <PropertyGroup >
3+ <OutputType >Exe</OutputType >
4+ <TargetFramework >net48</TargetFramework >
5+ </PropertyGroup >
6+
7+ <ItemGroup >
8+ <Compile Include =" s.fs" />
9+ </ItemGroup >
10+
11+ <ItemGroup >
12+ <PackageReference Include =" System.Runtime.Serialization.Formatters" Version =" 4.3.0" />
13+ </ItemGroup >
14+
15+ <ItemGroup >
16+ <Reference Include =" System.Runtime.Serialization.Formatters.Soap" />
17+ </ItemGroup >
18+ </Project >
Original file line number Diff line number Diff line change 1+ // <Snippet1>
2+ open System
3+ open System.IO
4+ open System.Runtime .Serialization .Formatters .Soap
5+
6+ // A test object that needs to be serialized.
7+ [<Serializable>]
8+ type TestSimpleObject () =
9+ let member1 = 11
10+ let member2 = " hello"
11+ let member3 = " hello"
12+ let member4 = 3.14159265
13+
14+ // A field that is not serialized.
15+ [<NonSerialized>]
16+ let member5 = " hello world!"
17+
18+ member _.Print () =
19+ printfn $" member1 = '{member1}'"
20+ printfn $" member2 = '{member2}'"
21+ printfn $" member3 = '{member3}'"
22+ printfn $" member4 = '{member4}'"
23+ printfn $" member5 = '{member5}'"
24+
25+ [<EntryPoint>]
26+ let main _ =
27+ // Creates a new TestSimpleObject object.
28+ let obj = TestSimpleObject()
29+
30+ printfn " Before serialization the object contains: "
31+ obj.Print()
32+
33+ // Opens a file and serializes the object into it in binary format.
34+ let stream = File.Open( " data.xml" , FileMode.Create)
35+ let formatter = SoapFormatter()
36+
37+ //BinaryFormatter formatter = new BinaryFormatter()
38+
39+ formatter.Serialize( stream, obj)
40+ stream.Close()
41+
42+ // Opens file "data.xml" and deserializes the object from it.
43+ let stream = File.Open( " data.xml" , FileMode.Open)
44+ let formatter = new SoapFormatter()
45+
46+ let obj = formatter.Deserialize stream :?> TestSimpleObject
47+ stream.Close()
48+
49+ printfn " \n After deserialization the object contains: "
50+ obj.Print()
51+ 0
52+ // </Snippet1>
Original file line number Diff line number Diff line change @@ -88,6 +88,7 @@ public event ChangedEventHandler Changed;
8888
8989 :::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/SerializationAttributes/CPP/s.cpp" id="Snippet1":::
9090 :::code language="csharp" source="~/snippets/csharp/System/NonSerializedAttribute/Overview/s.cs" id="Snippet1":::
91+ :::code language="fsharp" source="~/snippets/fsharp/System/NonSerializedAttribute/Overview/s.fs" id="Snippet1":::
9192 :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/SerializationAttributes/VB/s.vb" id="Snippet1":::
9293
9394 ]]> </format >
You can’t perform that action at this time.
0 commit comments