本文整理汇总了C#中StructureMap.Graph.PluginGraph.Seal方法的典型用法代码示例。如果您正苦于以下问题:C# PluginGraph.Seal方法的具体用法?C# PluginGraph.Seal怎么用?C# PluginGraph.Seal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StructureMap.Graph.PluginGraph
的用法示例。
在下文中一共展示了PluginGraph.Seal方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindPluginFamilies
public void FindPluginFamilies()
{
var graph = new PluginGraph();
graph.Scan(x => { x.Assembly("StructureMap.Testing.Widget"); });
graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue";
graph.CreateFamily(typeof (WidgetMaker));
graph.Seal();
foreach (PluginFamily family in graph.PluginFamilies)
{
Console.WriteLine(family.PluginType.AssemblyQualifiedName);
}
Assert.AreEqual(5, graph.FamilyCount);
}
示例2: FindRegistriesWithinPluginGraphSeal
public void FindRegistriesWithinPluginGraphSeal()
{
var graph = new PluginGraph();
var scanner = new AssemblyScanner();
scanner.AssemblyContainingType(typeof (RedGreenRegistry));
scanner.LookForRegistries();
scanner.ScanForAll(graph);
graph.Seal();
var colors = new List<string>();
PluginFamily family = graph.FindFamily(typeof (IWidget));
family.Instances.Each(instance => colors.Add(instance.Name));
Assert.Contains("Red", colors);
Assert.Contains("Green", colors);
Assert.Contains("Yellow", colors);
Assert.Contains("Blue", colors);
Assert.Contains("Brown", colors);
Assert.Contains("Black", colors);
}
示例3: FindPlugins
public void FindPlugins()
{
var graph = new PluginGraph();
graph.Scan(x =>
{
x.Assembly("StructureMap.Testing.Widget");
x.Assembly("StructureMap.Testing.Widget2");
});
graph.FindFamily(typeof (Rule));
graph.Seal();
PluginFamily family = graph.FindFamily(typeof (Rule));
Assert.IsNotNull(family);
Assert.AreEqual(5, family.PluginCount, "There are 5 Rule classes in the two assemblies");
}
示例4: Seal_does_not_throw_an_exception_if_there_are_no_errors
public void Seal_does_not_throw_an_exception_if_there_are_no_errors()
{
var graph = new PluginGraph();
Assert.AreEqual(0, graph.Log.ErrorCount);
graph.Seal();
}
示例5: PutsRightNumberOfPluginsIntoAFamily
public void PutsRightNumberOfPluginsIntoAFamily()
{
var graph = new PluginGraph();
graph.Scan(x => { x.Assembly("StructureMap.Testing.Widget"); });
graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue";
graph.Seal();
PluginFamily family = graph.FindFamily(typeof (IWidget));
Assert.IsNotNull(family);
Assert.AreEqual("Blue", family.DefaultInstanceKey);
Assert.AreEqual(4, family.PluginCount, "3 different IWidget classes are marked as Pluggable");
}
示例6: PicksUpManuallyAddedPlugin
public void PicksUpManuallyAddedPlugin()
{
var graph = new PluginGraph();
graph.Scan(x => { x.Assembly("StructureMap.Testing.Widget"); });
graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue";
PluginFamily family = graph.FindFamily(typeof (IWidget));
family.AddPlugin(typeof (NotPluggableWidget), "NotPluggable");
graph.Seal();
Assert.IsNotNull(family);
Assert.AreEqual(
5,
family.PluginCount,
"5 different IWidget classes are marked as Pluggable, + the manual add");
}
示例7: CanCreateTheAutoFilledInstance
public void CanCreateTheAutoFilledInstance()
{
// Builds a PluginGraph that includes all of the PluginFamily's and Plugin's
// defined in this file
var pluginGraph = new PluginGraph();
pluginGraph.Scan(x => x.Assembly(Assembly.GetExecutingAssembly()));
pluginGraph.Seal();
var manager = new Container(pluginGraph);
var mustang = (Mustang) manager.GetInstance(typeof (IAutomobile), "Mustang");
Assert.IsNotNull(mustang);
Assert.IsTrue(mustang.Engine is PushrodEngine);
}