本文整理汇总了C#中MonoDevelop.Core.Serialization.XmlDataSerializer.Deserialize方法的典型用法代码示例。如果您正苦于以下问题:C# XmlDataSerializer.Deserialize方法的具体用法?C# XmlDataSerializer.Deserialize怎么用?C# XmlDataSerializer.Deserialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Core.Serialization.XmlDataSerializer
的用法示例。
在下文中一共展示了XmlDataSerializer.Deserialize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SerializationDoubleRoundtrip
public void SerializationDoubleRoundtrip ()
{
var bag = new PropertyBag ();
var t = new SerializableObject {
SomeValue = "test1"
};
bag.SetValue ("foo", t);
var w = new StringWriter ();
var ser = new XmlDataSerializer (new DataContext ());
ser.Serialize (w, bag);
var data = w.ToString ();
SerializableObject.CreationCount = 0;
bag = ser.Deserialize<PropertyBag> (new StringReader (data));
// SerializableObject is not instantiated if not queried
Assert.AreEqual (0, SerializableObject.CreationCount);
w = new StringWriter ();
ser.Serialize (w, bag);
data = w.ToString ();
bag = ser.Deserialize<PropertyBag> (new StringReader (data));
// SerializableObject is not instantiated if not queried
Assert.AreEqual (0, SerializableObject.CreationCount);
t = bag.GetValue<SerializableObject> ("foo");
Assert.NotNull (t);
Assert.AreEqual ("test1", t.SomeValue);
}
示例2: CreateFramework
public TargetFramework CreateFramework ()
{
Stream s;
if (SystemAssemblyService.UseExpandedFrameworksFile) {
if (resource != null)
s = Addin.GetResource (resource);
else if (file != null)
s = File.OpenRead (Addin.GetFilePath (file));
else
throw new InvalidOperationException ("Framework xml source not specified");
}
else {
string file = System.IO.Path.Combine (SystemAssemblyService.ReferenceFrameworksPath, resource);
Console.WriteLine ("Loading framework file: " + file);
s = File.OpenRead (file);
}
using (s) {
XmlTextReader reader = new XmlTextReader (s);
XmlDataSerializer ser = new XmlDataSerializer (new DataContext ());
TargetFramework fx = (TargetFramework) ser.Deserialize (reader, typeof(TargetFramework));
fx.FrameworkNode = this;
return fx;
}
}
示例3: DeserializeString
public static object DeserializeString(string XMLString, Type serType)
{
context.IncludeType (serType);
XmlDataSerializer ser = new XmlDataSerializer (context);
TextReader serReader = new StringReader (XMLString);
return ser.Deserialize (serReader, serType);
}
示例4: LoadFromFile
public static ToolboxConfiguration LoadFromFile (string fileName)
{
object o;
using (StreamReader reader = new StreamReader (fileName))
{
XmlDataSerializer serializer = new XmlDataSerializer (MonoDevelop.Projects.Services.ProjectService.DataContext);
o = serializer.Deserialize (reader, typeof (ToolboxConfiguration));
}
return (ToolboxConfiguration) o;
}
示例5: GetLinuxDeployData
public static LinuxDeployData GetLinuxDeployData (Project entry)
{
LinuxDeployData data = (LinuxDeployData) entry.ExtendedProperties ["Deployment.LinuxDeployData"];
if (data != null)
return data;
var elem = entry.MSBuildProject.GetMonoDevelopProjectExtension ("Deployment.LinuxDeployData");
if (elem != null) {
XmlDataSerializer ser = new XmlDataSerializer (new DataContext ());
data = (LinuxDeployData) ser.Deserialize (new XmlNodeReader (elem), typeof(LinuxDeployData));
} else {
data = CreateDefault (entry);
}
data.entry = entry;
entry.ExtendedProperties ["Deployment.LinuxDeployData"] = data;
return data;
}
示例6: CreateFramework
public TargetFramework CreateFramework ()
{
Stream s;
if (resource != null)
s = Addin.GetResource (resource);
else if (file != null)
s = File.OpenRead (Addin.GetFilePath (file));
else
throw new InvalidOperationException ("Framework xml source not specified");
using (s) {
XmlTextReader reader = new XmlTextReader (s);
XmlDataSerializer ser = new XmlDataSerializer (new DataContext ());
TargetFramework fx = (TargetFramework) ser.Deserialize (reader, typeof(TargetFramework));
fx.FrameworkNode = this;
return fx;
}
}
示例7: ReadWorkspaceItemFile
WorkspaceItem ReadWorkspaceItemFile (FilePath fileName, ProgressMonitor monitor)
{
XmlTextReader reader = new XmlTextReader (new StreamReader (fileName));
try {
monitor.BeginTask (string.Format (GettextCatalog.GetString ("Loading workspace item: {0}"), fileName), 1);
reader.MoveToContent ();
XmlDataSerializer ser = new XmlDataSerializer (MD1ProjectService.DataContext);
ser.SerializationContext.BaseFile = fileName;
ser.SerializationContext.ProgressMonitor = monitor;
WorkspaceItem entry = (WorkspaceItem)ser.Deserialize (reader, typeof(WorkspaceItem));
entry.FileName = fileName;
return entry;
} catch (Exception ex) {
monitor.ReportError (string.Format (GettextCatalog.GetString ("Could not load solution item: {0}"), fileName), ex);
throw;
} finally {
monitor.EndTask ();
reader.Close ();
}
}
示例8: AddinAuthoringService
static AddinAuthoringService ()
{
if (IdeApp.IsInitialized) {
IdeApp.ProjectOperations.EndBuild += OnEndBuild;
}
configFile = Path.Combine (PropertyService.ConfigPath, "AddinAuthoring.config");
if (File.Exists (configFile)) {
try {
XmlDataSerializer ser = new XmlDataSerializer (new DataContext ());
StreamReader sr = new StreamReader (configFile);
using (sr) {
config = (AddinAuthoringServiceConfig) ser.Deserialize (new XmlTextReader (sr), typeof(AddinAuthoringServiceConfig));
}
}
catch (Exception ex) {
LoggingService.LogError ("Could not load add-in authoring service configuration", ex);
}
}
if (config == null)
config = new AddinAuthoringServiceConfig ();
}
示例9: InternalGetRepositoryReference
internal static Repository InternalGetRepositoryReference (string path, string id)
{
string file = Path.Combine (path, id) + ".mdvcs";
if (!File.Exists (file))
return null;
XmlDataSerializer ser = new XmlDataSerializer (dataContext);
XmlTextReader reader = new XmlTextReader (new StreamReader (file));
try {
return (Repository) ser.Deserialize (reader, typeof(Repository));
} finally {
reader.Close ();
}
}
示例10: GetConfiguration
static VersionControlConfiguration GetConfiguration ()
{
if (configuration == null) {
if (File.Exists (ConfigFile)) {
try {
XmlDataSerializer ser = new XmlDataSerializer (dataContext);
using (var reader = File.OpenText (ConfigFile))
configuration = (VersionControlConfiguration) ser.Deserialize (reader, typeof (VersionControlConfiguration));
} catch {
((FilePath) ConfigFile).Delete ();
}
}
if (configuration == null)
configuration = new VersionControlConfiguration ();
}
return configuration;
}
示例11: OnWorkspaceItemLoaded
static void OnWorkspaceItemLoaded (object sender, WorkspaceItemEventArgs e)
{
string fileToLoad = GetUserTasksFilename (e.Item);
userTasks.BeginTaskUpdates ();
try {
// Load User Tasks from xml file
if (File.Exists (fileToLoad)) {
XmlDataSerializer serializer = new XmlDataSerializer (new DataContext ());
List<Task> ts = (List<Task>) serializer.Deserialize (fileToLoad, typeof(List<Task>));
foreach (Task t in ts) {
t.WorkspaceObject = e.Item;
userTasks.Add (t);
}
}
}
catch (Exception ex) {
LoggingService.LogWarning ("Could not load user tasks: " + fileToLoad, ex);
}
finally {
userTasks.EndTaskUpdates ();
}
}
示例12: InternalGetRepositoryReference
internal static Repository InternalGetRepositoryReference (string path, string id)
{
string file = InternalGetRepositoryPath (path, id);
if (file == null)
return null;
XmlDataSerializer ser = new XmlDataSerializer (dataContext);
XmlTextReader reader = new XmlTextReader (new StreamReader (file));
try {
return (Repository) ser.Deserialize (reader, typeof(Repository));
} finally {
reader.Close ();
}
}
示例13: GetConfiguration
static VersionControlConfiguration GetConfiguration ()
{
if (configuration == null) {
if (File.Exists (ConfigFile)) {
XmlDataSerializer ser = new XmlDataSerializer (dataContext);
XmlTextReader reader = new XmlTextReader (new StreamReader (ConfigFile));
try {
configuration = (VersionControlConfiguration) ser.Deserialize (reader, typeof (VersionControlConfiguration));
} finally {
reader.Close ();
}
}
if (configuration == null)
configuration = new VersionControlConfiguration ();
}
return configuration;
}
示例14: ReadFile
public object ReadFile (FilePath fileName, Type expectedType, IProgressMonitor monitor)
{
object readObject = null;
ProjectExtensionUtil.BeginLoadOperation ();
try {
string ext = Path.GetExtension (fileName).ToLower ();
if (ext == ".mdp") {
object project = ReadProjectFile (fileName, monitor);
if (project is DotNetProject)
((DotNetProject)project).SetItemHandler (new MD1DotNetProjectHandler ((DotNetProject) project));
readObject = project;
}
else if (ext == ".mds") {
readObject = ReadCombineFile (fileName, monitor);
}
else if (ext == ".mdw") {
readObject = ReadWorkspaceItemFile (fileName, monitor);
}
else {
XmlTextReader reader = new XmlTextReader (new StreamReader (fileName));
try {
monitor.BeginTask (string.Format (GettextCatalog.GetString ("Loading solution item: {0}"), fileName), 1);
reader.MoveToContent ();
XmlDataSerializer ser = new XmlDataSerializer (MD1ProjectService.DataContext);
ser.SerializationContext.BaseFile = fileName;
ser.SerializationContext.ProgressMonitor = monitor;
SolutionEntityItem entry = (SolutionEntityItem) ser.Deserialize (reader, typeof(SolutionEntityItem));
entry.FileName = fileName;
MD1ProjectService.InitializeHandler (entry);
readObject = entry;
}
catch (Exception ex) {
monitor.ReportError (string.Format (GettextCatalog.GetString ("Could not load solution item: {0}"), fileName), ex);
throw;
}
finally {
monitor.EndTask ();
reader.Close ();
}
}
} finally {
ProjectExtensionUtil.EndLoadOperation ();
}
IWorkspaceFileObject fo = readObject as IWorkspaceFileObject;
if (fo != null)
fo.ConvertToFormat (MD1ProjectService.FileFormat, false);
return readObject;
}
示例15: Load
internal static ComponentIndex Load ()
{
if (!File.Exists (ToolboxIndexFile))
return new ComponentIndex ();
XmlDataSerializer ser = new XmlDataSerializer (IdeApp.Services.ProjectService.DataContext);
try {
using (StreamReader sr = new StreamReader (ToolboxIndexFile)) {
return (ComponentIndex) ser.Deserialize (sr, typeof(ComponentIndex));
}
}
catch (Exception ex) {
// Ignore exceptions
LoggingService.LogError (ex.ToString ());
return new ComponentIndex ();
}
}