Little Registry Cleaner/Common Tools/TaskScheduler/NamedValueCollection.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Common_Tools.TaskScheduler
{
/// <summary>
/// Contains a collection of name-value pairs.
/// </summary>
public sealed class NamedValueCollection : IDisposable, System.Collections.IEnumerable
{
private V2Interop.ITaskNamedValueCollection v2Coll = null;
private Dictionary<string, string> unboundDict = null;
internal NamedValueCollection(V2Interop.ITaskNamedValueCollection iColl) { v2Coll = iColl; }
internal NamedValueCollection()
{
unboundDict = new Dictionary<string, string>(5); ;
}
internal bool Bound
{
get { return v2Coll != null; }
}
internal void Bind(V2Interop.ITaskNamedValueCollection iTaskNamedValueCollection)
{
v2Coll = iTaskNamedValueCollection;
v2Coll.Clear();
foreach (var item in unboundDict)
v2Coll.Create(item.Key, item.Value);
}
/// <summary>
/// Copies current <see cref="NamedValueCollection"/> to another.
/// </summary>
/// <param name="destCollection">The destination collection.</param>
public void CopyTo(NamedValueCollection destCollection)
{
if (v2Coll != null)
{
for (int i = 1; i <= this.Count; i++)
destCollection.Add(v2Coll[i].Name, v2Coll[i].Value);
}
else
{
foreach (var item in unboundDict)
destCollection.Add(item.Key, item.Value);
}
}
/// <summary>
/// Releases all resources used by this class.
/// </summary>
public void Dispose()
{
if (v2Coll != null) Marshal.ReleaseComObject(v2Coll);
}
后面还有 97 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。