Class AssemblyInitializerBase
Base class for plugin's assembly initializer.
Inheritance
Namespace: FastReport.Utils
Assembly: FastReport.Base.dll
Syntax
public class AssemblyInitializerBase
Remarks
FastReport has an open architecture. That means you can extend it with own classes such as report objects, wizards, export filters. Usually such classes are placed in separate dlls (plugins). FastReport has mechanism to load plugin dlls. You can specify which plugins to load at first start, in the FastReport configuration file (by default it is located in the C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\FastReport.config file). To do this, add an xml item with your plugin name inside the <Plugins> item:
<?xml version="1.0" encoding="utf-8"?>
<Config>
<Plugins>
<Plugin Name="c:\Program Files\MyProgram\MyPlugin.dll"/>
</Plugins>
</Config>
When you run your application and use the Report object first time, all plugins will be loaded. To register objects contained in a plugin, FastReport searches for classes of type AssemblyInitializerBase and instantiates them.
Use this class to register custom report objects, controls, wizards, exports that are contained in the assembly. To do this, make your own class of the AssemblyInitializerBase type and override its default constructor. In the constructor, call RegisteredObjects.Add methods to register all necessary items.
Constructors
AssemblyInitializerBase()
Registers plugins contained in this assembly.
Declaration
public AssemblyInitializerBase()
Remarks
This constructor is called automatically when the assembly is loaded.
Examples
This example show how to create own assembly initializer to register own items.
public class MyAssemblyInitializer : AssemblyInitializerBase
{
public MyAssemblyInitializer()
{
// register own wizard
RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true);
// register own export filter
RegisteredObjects.AddExport(typeof(MyExport), "My Export");
// register own report object
RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object");
}
}