Little Registry Cleaner/Common Tools/TaskScheduler/TriggerCollection.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Common_Tools.TaskScheduler
{
/// <summary>
/// Provides the methods that are used to add to, remove from, and get the triggers of a task.
/// </summary>
public sealed class TriggerCollection : IEnumerable<Trigger>, IDisposable
{
private V1Interop.ITask v1Task = null;
private V2Interop.ITaskDefinition v2Def = null;
private V2Interop.ITriggerCollection v2Coll = null;
internal TriggerCollection(V1Interop.ITask iTask)
{
v1Task = iTask;
}
internal TriggerCollection(V2Interop.ITaskDefinition iTaskDef)
{
v2Def = iTaskDef;
v2Coll = v2Def.Triggers;
}
/// <summary>
/// Releases all resources used by this class.
/// </summary>
public void Dispose()
{
if (v2Coll != null) Marshal.ReleaseComObject(v2Coll);
v2Def = null;
v1Task = null;
}
/// <summary>
/// Gets the collection enumerator for this collection.
/// </summary>
/// <returns>The <see cref="IEnumerator{T}"/> for this collection.</returns>
public IEnumerator<Trigger> GetEnumerator()
{
if (v1Task != null)
return new V1TriggerEnumerator(v1Task);
return new V2TriggerEnumerator(v2Coll);
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
internal sealed class V1TriggerEnumerator : IEnumerator<Trigger>
{
private V1Interop.ITask iTask;
private short curItem = -1;
internal V1TriggerEnumerator(V1Interop.ITask task)
{
后面还有 223 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。