Macros/MacroService.cs

(开头部分) 5KB

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

using ComLib;
using ComLib.Reflection;


namespace ComLib.Macros
{
    
    /// <summary>
    /// Information Service
    /// </summary>
    public class MacroService : ExtensionService<MacroAttribute, IMacro>, IMacroService
    {
        private char _prefix;
        private char _openBracket;
        private char _closeBracket;


        /// <summary>
        /// Initialize.
        /// </summary>
        public MacroService() : this('$', '[', ']')
        {
        }


        /// <summary>
        /// Initialize.
        /// </summary>
        /// <param name="prefix">Macro prefix.</param>
        /// <param name="open">Macro start tag.</param>
        /// <param name="close">Macro end tag.</param>
        public MacroService(char prefix, char open, char close)
        {
            _prefix = prefix;
            _openBracket = open;
            _closeBracket = close;
            _onLoadCompleteCallback = () => LoadAdditionalAttributes<MacroParameterAttribute>();
        }


        /// <summary>
        /// Register the macro programmatically with lamda func.
        /// </summary>
        /// <param name="name">The name of the macro.</param>
        /// <param name="displayName">The display name of the macro</param>
        /// <param name="description">The description of the macro</param>
        /// <param name="callback">The callback to call when running the macro.</param>
        public virtual void Register(string name, string displayName, string description, Func<Tag, string> callback)
        {
            Register(new MacroAttribute() { Name = name, Description = description }, null, callback);
        }


        /// <summary>
后面还有 93 行代码,解锁后查看完整代码

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

AI 解读

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

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