diff --git a/snippets/fsharp/System/NonSerializedAttribute/Overview/fs.fsproj b/snippets/fsharp/System/NonSerializedAttribute/Overview/fs.fsproj new file mode 100644 index 00000000000..3c4caff7001 --- /dev/null +++ b/snippets/fsharp/System/NonSerializedAttribute/Overview/fs.fsproj @@ -0,0 +1,18 @@ + + + Exe + net48 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/snippets/fsharp/System/NonSerializedAttribute/Overview/s.fs b/snippets/fsharp/System/NonSerializedAttribute/Overview/s.fs new file mode 100644 index 00000000000..83eb93760a9 --- /dev/null +++ b/snippets/fsharp/System/NonSerializedAttribute/Overview/s.fs @@ -0,0 +1,52 @@ +// +open System +open System.IO +open System.Runtime.Serialization.Formatters.Soap + +// A test object that needs to be serialized. +[] +type TestSimpleObject() = + let member1 = 11 + let member2 = "hello" + let member3 = "hello" + let member4 = 3.14159265 + + // A field that is not serialized. + [] + let member5 = "hello world!" + + member _.Print() = + printfn $"member1 = '{member1}'" + printfn $"member2 = '{member2}'" + printfn $"member3 = '{member3}'" + printfn $"member4 = '{member4}'" + printfn $"member5 = '{member5}'" + +[] +let main _ = + // Creates a new TestSimpleObject object. + let obj = TestSimpleObject() + + printfn "Before serialization the object contains: " + obj.Print() + + // Opens a file and serializes the object into it in binary format. + let stream = File.Open("data.xml", FileMode.Create) + let formatter = SoapFormatter() + + //BinaryFormatter formatter = new BinaryFormatter() + + formatter.Serialize(stream, obj) + stream.Close() + + // Opens file "data.xml" and deserializes the object from it. + let stream = File.Open("data.xml", FileMode.Open) + let formatter = new SoapFormatter() + + let obj = formatter.Deserialize stream :?> TestSimpleObject + stream.Close() + + printfn "\nAfter deserialization the object contains: " + obj.Print() + 0 +// diff --git a/xml/System/NonSerializedAttribute.xml b/xml/System/NonSerializedAttribute.xml index 9e846a10758..6eaa69ce608 100644 --- a/xml/System/NonSerializedAttribute.xml +++ b/xml/System/NonSerializedAttribute.xml @@ -88,6 +88,7 @@ public event ChangedEventHandler Changed; :::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/SerializationAttributes/CPP/s.cpp" id="Snippet1"::: :::code language="csharp" source="~/snippets/csharp/System/NonSerializedAttribute/Overview/s.cs" id="Snippet1"::: + :::code language="fsharp" source="~/snippets/fsharp/System/NonSerializedAttribute/Overview/s.fs" id="Snippet1"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/SerializationAttributes/VB/s.vb" id="Snippet1"::: ]]>