本文整理汇总了C#中System.Runtime.Serialization.SerializationInfo类的典型用法代码示例。如果您正苦于以下问题:C# SerializationInfo类的具体用法?C# SerializationInfo怎么用?C# SerializationInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SerializationInfo类属于System.Runtime.Serialization命名空间,在下文中一共展示了SerializationInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UserClient
//deserialize method
public UserClient(SerializationInfo info, StreamingContext ctxt)
{
username = (string)info.GetValue("username", typeof(string));
password = (string)info.GetValue("password", typeof(string));
try
{
isOnline = (bool)info.GetValue("isOnline", typeof(bool));
}
catch(Exception e )
{
isOnline = false;
}
try {
physician = (string)info.GetValue("physician", typeof(string));
}
catch(Exception e)
{
physician = "jaap";
}
try {
sessions = (List<Session>)info.GetValue("sessions", typeof(List<Session>));
}
catch(Exception e)
{
sessions = new List<Session>();
}
try
{
tests = (List<Session>)info.GetValue("tests", typeof(List<Session>));
}
catch(Exception e) {
tests = new List<Session>();
}
}
示例2: SoapFault
internal SoapFault(SerializationInfo info, StreamingContext context)
{
SerializationInfoEnumerator siEnum = info.GetEnumerator();
while(siEnum.MoveNext())
{
String name = siEnum.Name;
Object value = siEnum.Value;
SerTrace.Log(this, "SetObjectData enum ",name," value ",value);
if (String.Compare(name, "faultCode", true, CultureInfo.InvariantCulture) == 0)
{
int index = ((String)value).IndexOf(':');
if (index > -1)
faultCode = ((String)value).Substring(++index);
else
faultCode = (String)value;
}
else if (String.Compare(name, "faultString", true, CultureInfo.InvariantCulture) == 0)
faultString = (String)value;
else if (String.Compare(name, "faultActor", true, CultureInfo.InvariantCulture) == 0)
faultActor = (String)value;
else if (String.Compare(name, "detail", true, CultureInfo.InvariantCulture) == 0)
detail = value;
}
}
示例3: SO_NWS_Highlight
public SO_NWS_Highlight(
SerializationInfo info_in,
StreamingContext context_in
) {
haschanges_ = false;
idhighlight_ = (long)info_in.GetValue("IDHighlight", typeof(long));
ifapplication_
= (info_in.GetValue("IFApplication", typeof(int)) == null)
? 0
: (int)info_in.GetValue("IFApplication", typeof(int));
IFApplication_isNull = (bool)info_in.GetValue("IFApplication_isNull", typeof(bool));
ifhighlight__parent_
= (info_in.GetValue("IFHighlight__parent", typeof(long)) == null)
? 0L
: (long)info_in.GetValue("IFHighlight__parent", typeof(long));
IFHighlight__parent_isNull = (bool)info_in.GetValue("IFHighlight__parent_isNull", typeof(bool));
name_ = (string)info_in.GetValue("Name", typeof(string));
ifuser__approved_
= (info_in.GetValue("IFUser__Approved", typeof(long)) == null)
? 0L
: (long)info_in.GetValue("IFUser__Approved", typeof(long));
IFUser__Approved_isNull = (bool)info_in.GetValue("IFUser__Approved_isNull", typeof(bool));
approved_date_
= (info_in.GetValue("Approved_date", typeof(DateTime)) == null)
? new DateTime(1900, 1, 1)
: (DateTime)info_in.GetValue("Approved_date", typeof(DateTime));
Approved_date_isNull = (bool)info_in.GetValue("Approved_date_isNull", typeof(bool));
}
示例4: UpdateException
protected UpdateException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
this.Errors = (IList<UpdateError>)info.GetValue(ERRORSKEY, typeof(IList<UpdateError>));
this.ErrorDetail = info.GetString(ERRORDETAILKEY);
}
示例5: GetObjectData
public void GetObjectData(object obj, SerializationInfo info, StreamingContext context) {
var color = (Color)obj;
info.AddValue("r", color.r);
info.AddValue("g", color.g);
info.AddValue("b", color.b);
info.AddValue("a", color.a);
}
示例6: Restore
public object Restore()
{
var type = Type.GetType(assemblyQualifiedName);
var ctor = type.GetConstructor(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, new [] {
typeof(SerializationInfo),
typeof(StreamingContext)
}, null);
var serializationInfo = new SerializationInfo(type, new FormatterConverter());
serializationInfo.SetType(type);
for(var i = 0; i < keys.Length; i++)
{
serializationInfo.AddValue(keys[i], values[i]);
}
var streamingContext = new StreamingContext(StreamingContextStates.Clone);
var result = ctor.Invoke(new object[] { serializationInfo, streamingContext });
var onDeserialization = result as IDeserializationCallback;
if(onDeserialization != null)
{
onDeserialization.OnDeserialization(this);
}
return result;
}
示例7: DatasetPatrols
protected DatasetPatrols(SerializationInfo info, StreamingContext context) {
string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
if ((strSchema != null)) {
DataSet ds = new DataSet();
ds.ReadXmlSchema(new XmlTextReader(new System.IO.StringReader(strSchema)));
if ((ds.Tables["Patrols"] != null)) {
this.Tables.Add(new PatrolsDataTable(ds.Tables["Patrols"]));
}
this.DataSetName = ds.DataSetName;
this.Prefix = ds.Prefix;
this.Namespace = ds.Namespace;
this.Locale = ds.Locale;
this.CaseSensitive = ds.CaseSensitive;
this.EnforceConstraints = ds.EnforceConstraints;
this.Merge(ds, false, System.Data.MissingSchemaAction.Add);
this.InitVars();
}
else {
this.InitClass();
}
this.GetSerializationData(info, context);
System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
this.Tables.CollectionChanged += schemaChangedHandler;
this.Relations.CollectionChanged += schemaChangedHandler;
}
示例8: Deserialize
protected override void Deserialize (SerializationInfo info, StreamingContext context)
{
text = (string) info.GetValue ("AssemblyName", typeof (AssemblyName));
base.Filter = (ICollection)info.GetValue ("Filter", typeof (ICollection));
base.DisplayName = info.GetString ("DisplayName");
if (info.GetBoolean ("Locked")) base.Lock ();
}
示例9: EncoderNLS
// Constructor called by serialization. called during deserialization.
internal EncoderNLS(SerializationInfo info, StreamingContext context)
{
throw new NotSupportedException(
String.Format(
System.Globalization.CultureInfo.CurrentCulture,
Environment.GetResourceString("NotSupported_TypeCannotDeserialized"), this.GetType()));
}
示例10: CaseInsensitiveHashtable
/// <summary>
/// Initializes a new, empty instance of the <see cref="T:System.Collections.Hashtable"></see> class that is
/// serializable using the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> and
/// <see cref="T:System.Runtime.Serialization.StreamingContext"></see> objects.
/// </summary>
/// <param name="context">
/// A <see cref="T:System.Runtime.Serialization.StreamingContext"></see> object containing the source
/// and destination of the serialized stream associated with the <see cref="T:System.Collections.Hashtable"></see>.
/// </param>
/// <param name="info">
/// A <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object containing the
/// information required to serialize the <see cref="T:System.Collections.Hashtable"></see> object.
/// </param>
/// <exception cref="T:System.ArgumentNullException">info is null. </exception>
protected CaseInsensitiveHashtable(SerializationInfo info, StreamingContext context)
: base(info, context)
{
var cultureName = info.GetString("_cultureName");
_culture = new CultureInfo(cultureName);
AssertUtils.ArgumentNotNull(_culture, "Culture");
}
示例11: XmlException
protected XmlException(SerializationInfo info, StreamingContext context) : base(info, context) {
res = (string) info.GetValue("res" , typeof(string));
args = (string[])info.GetValue("args", typeof(string[]));
lineNumber = (int) info.GetValue("lineNumber", typeof(int));
linePosition = (int) info.GetValue("linePosition", typeof(int));
// deserialize optional members
sourceUri = string.Empty;
string version = null;
foreach ( SerializationEntry e in info ) {
switch ( e.Name ) {
case "sourceUri":
sourceUri = (string)e.Value;
break;
case "version":
version = (string)e.Value;
break;
}
}
if ( version == null ) {
// deserializing V1 exception
message = CreateMessage( res, args, lineNumber, linePosition );
}
else {
// deserializing V2 or higher exception -> exception message is serialized by the base class (Exception._message)
message = null;
}
}
示例12: Tile
public Tile(SerializationInfo info, StreamingContext ctx)
: base(info, ctx)
{
m_strName = null;
try {
m_strName = info.GetString("Name");
} catch {
m_strName = info.GetInt32("Cookie").ToString();
}
m_afVisible = (bool[,])info.GetValue("Visibility", typeof(bool[,]));
try {
m_afOccupancy = (bool[,])info.GetValue("Occupancy", typeof(bool[,]));
} catch {
TemplateDoc tmpd = (TemplateDoc)DocManager.GetActiveDocument(typeof(TemplateDoc));
Template tmpl = tmpd.FindTemplate(m_strName);
if (tmpl != null) {
m_afOccupancy = tmpl.OccupancyMap;
} else {
m_afOccupancy = new bool[1, 1];
}
}
InitCommon();
}
示例13: GetObjectData
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue(nameof(Name), Name);
info.AddValue(nameof(ProviderName), ProviderName);
info.AddValue(nameof(ProviderParameters), ProviderParameters);
info.AddValue(nameof(VaultParameters), VaultParameters);
}
示例14: GetObjectData
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("DataServiceException.FaultMessage", Fault.Message);
info.AddValue("DataServiceException.FaultMessage", Fault.Detail);
}
示例15: GetObjectData
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("ClipboardOwnerProcessName", processName);
info.AddValue("ClipboardOwnerProcessId", processId);
base.GetObjectData(info, context);
}