Source/DotNetBarStreamer.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Runtime.Serialization;
using System.Xml;

namespace DevComponents.DotNetBar
{
	/// <summary>
	/// Summary description for DotNetBarStreamer.
	/// </summary>
	[Serializable()]
	public sealed class DotNetBarStreamer:IDisposable,ISerializable
	{
		private XmlDocument m_XmlDoc=null;
		private DotNetBarManager m_Owner=null;

		private DotNetBarStreamer(){}
		private DotNetBarStreamer(SerializationInfo info, StreamingContext c)
		{
			SerializationInfoEnumerator en=info.GetEnumerator();
			while(en.MoveNext())
			{
				//System.Windows.Forms.MessageBox.Show("Read stream: "+en.Name);
				if(en.Name=="dotnetbardata")
				{
					string s=(string)en.Value;
					m_XmlDoc=new XmlDocument();
                    m_XmlDoc.LoadXml(s);
					break;
				}
			}
		}
		public DotNetBarStreamer(DotNetBarManager owner)
		{
			m_Owner=owner;
		}

		void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
		{
			/*if(m_Owner==null)
			{
				if(m_XmlDoc!=null)
                    System.Windows.Forms.MessageBox.Show("XML DOC IS not NULL !!!!");
				else
					System.Windows.Forms.MessageBox.Show("Serializing: NULL");
			}
			else
				System.Windows.Forms.MessageBox.Show("Serializing VALUE");*/
			if(m_Owner==null && m_XmlDoc==null)
				return;

			// Very important to set the type to string, if type is not set then
			// complete assembly version is written to the file, probably becouse type is
			// binary and when new version is compiled the old stream could not be loaded again.
			string s=info.AssemblyName;
			string[] sarr=s.Split(',');
			s="";
			for(int i=0;i<sarr.Length;i++)
			{
				if(!((string)sarr.GetValue(i)).ToLower().Trim().StartsWith("version"))
				{
后面还有 32 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。