📄 providercollector.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using ScrewTurn.Wiki.PluginFramework;
namespace ScrewTurn.Wiki {
/// <summary>
/// Implements a generic Provider Collector.
/// </summary>
/// <typeparam name="T">The type of the Collector.</typeparam>
public class ProviderCollector<T> {
/// <summary>
/// The list of Providers.
/// </summary>
protected List<T> list;
/// <summary>
/// Initializes a new instance of the class.
/// </summary>
public ProviderCollector() {
list = new List<T>();
}
/// <summary>
/// Adds a Provider to the Collector.
/// </summary>
/// <param name="provider">The Provider to add.</param>
public void AddProvider(T provider) {
list.Add(provider);
}
/// <summary>
/// Removes a Provider from the Collector.
/// </summary>
/// <param name="provider">The Provider to remove.</param>
public void RemoveProvider(T provider) {
list.Remove(provider);
}
/// <summary>
/// Gets all the Providers.
/// </summary>
public T[] AllProviders {
get { return list.ToArray(); }
}
/// <summary>
/// Gets a Provider, searching for its Type Name.
/// </summary>
/// <param name="typeName">The Type Name.</param>
/// <returns>The Provider, or null if the Provider was not found.</returns>
public T GetProvider(string typeName) {
for(int i = 0; i < list.Count; i++) {
if(list[i].GetType().ToString().Equals(typeName)) return list[i];
}
return default(T);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -