The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
BinaryFormatter Constructor ()
.NET Framework (current version)
Initializes a new instance of the BinaryFormatter class with default values.
Assembly: mscorlib (in mscorlib.dll)
This constructor sets the properties of the BinaryFormatter object as follows:
Property Type | Condition |
|---|---|
null | |
A StreamingContext with a value that indicates that serialized data can be transmitted to or received from any of the other contexts. (StreamingContextStates::All) |
using namespace System; using namespace System::IO; using namespace System::Collections; using namespace System::Runtime::Serialization::Formatters::Binary; using namespace System::Runtime::Serialization; ref class App { public: static void Serialize() { // Create a hashtable of values that will eventually be serialized. Hashtable^ addresses = gcnew Hashtable; addresses->Add( "Jeff", "123 Main Street, Redmond, WA 98052" ); addresses->Add( "Fred", "987 Pine Road, Phila., PA 19116" ); addresses->Add( "Mary", "PO Box 112233, Palo Alto, CA 94301" ); // To serialize the hashtable (and its keys/values), // you must first open a stream for writing. // In this case we will use a file stream. FileStream^ fs = gcnew FileStream( "DataFile.dat",FileMode::Create ); // Construct a BinaryFormatter and use it to serialize the data to the stream. BinaryFormatter^ formatter = gcnew BinaryFormatter; try { formatter->Serialize( fs, addresses ); } catch ( SerializationException^ e ) { Console::WriteLine( "Failed to serialize. Reason: {0}", e->Message ); throw; } finally { fs->Close(); } } static void Deserialize() { // Declare the hashtable reference. Hashtable^ addresses = nullptr; // Open the file containing the data that we want to deserialize. FileStream^ fs = gcnew FileStream( "DataFile.dat",FileMode::Open ); try { BinaryFormatter^ formatter = gcnew BinaryFormatter; // Deserialize the hashtable from the file and // assign the reference to our local variable. addresses = dynamic_cast<Hashtable^>(formatter->Deserialize( fs )); } catch ( SerializationException^ e ) { Console::WriteLine( "Failed to deserialize. Reason: {0}", e->Message ); throw; } finally { fs->Close(); } // To prove that the table deserialized correctly, display the keys/values. IEnumerator^ myEnum = addresses->GetEnumerator(); while ( myEnum->MoveNext() ) { DictionaryEntry ^ de = safe_cast<DictionaryEntry ^>(myEnum->Current); Console::WriteLine( " {0} lives at {1}.", de->Key, de->Value ); } } }; [STAThread] int main() { App::Serialize(); App::Deserialize(); return 0; }
.NET Framework
Available since 1.1
Available since 1.1
Show: