当前位置: 首页>>代码示例>>C#>>正文


C# IPlugin.Loaded方法代码示例

本文整理汇总了C#中IPlugin.Loaded方法的典型用法代码示例。如果您正苦于以下问题:C# IPlugin.Loaded方法的具体用法?C# IPlugin.Loaded怎么用?C# IPlugin.Loaded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPlugin的用法示例。


在下文中一共展示了IPlugin.Loaded方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Register

 internal static void Register(IPlugin plugin)
 {
     lock (_syncRoot)
     {
         _plugins.Add(plugin);
     }
     plugin.Loaded();
 }
开发者ID:karno,项目名称:Lycanthrope,代码行数:8,代码来源:PluginManager.cs

示例2: Register

 public static void Register(IPlugin plugin)
 {
     lock (_syncRoot)
     {
         _plugins.Add(plugin);
     }
     try
     {
         plugin.Loaded();
     }
     catch (Exception e)
     {
         throw new KrilePluginException(plugin, "プラグインのロードに失敗しました。", e);
     }
 }
开发者ID:sor593,项目名称:Mystique,代码行数:15,代码来源:PluginManager.cs

示例3: LoadStorage

        private void LoadStorage(IPlugin plugin, IBot bot)
        {
            PropertyInfo[] properties = plugin.Type.GetProperties();
            IStorage storage = _pluginStorageManager.Global(plugin);

            foreach(PropertyInfo property in properties)
            {
                if(property.CanRead && property.CanWrite)
                {
                    if(storage.Exists(property.Name))
                    {
                        try
                        {
                            property.SetValue(plugin.Instance, storage.Get(property.PropertyType, property.Name));
                        }
                        catch(Exception e)
                        {
                            _logger.ErrorException("Could not set property " + property.Name + " in plugin "
                                + plugin.Name + ".", e);
                        }
                    }
                    else
                    {
                        try
                        {
                            storage.Set(property.GetValue(plugin.Instance), property.Name);
                        }
                        catch(Exception e)
                        {
                            _logger.ErrorException("Could not get property " + property.Name + " in plugin "
                                + plugin.Name + ".", e);
                        }
                    }
                }
            }

            if(plugin.Loaded != null)
            {
                try
                {
                    plugin.Loaded(plugin, bot);
                }
                catch(Exception e)
                {
                    _logger.ErrorException("Could not invoke loaded method in plugin " + plugin.Name + ".", e);
                }
            }
        }
开发者ID:Gohla,项目名称:Veda,代码行数:48,代码来源:PluginManager.cs


注:本文中的IPlugin.Loaded方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。