本文整理匯總了C#中System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport方法的典型用法代碼示例。如果您正苦於以下問題:C# CompositionContainer.ReleaseExport方法的具體用法?C# CompositionContainer.ReleaseExport怎麽用?C# CompositionContainer.ReleaseExport使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.ComponentModel.Composition.Hosting.CompositionContainer
的用法示例。
在下文中一共展示了CompositionContainer.ReleaseExport方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: ReleaseParsleyAsTransientDisposesParsley
public void ReleaseParsleyAsTransientDisposesParsley()
{
var catalog = new TypeCatalog(typeof(Ploeh.Samples.Menu.Mef.Attributed.Lifetime.NonShared.Parsley));
var container = new CompositionContainer(catalog);
var x = container.GetExport<IIngredient>();
var ingredient = x.Value;
container.ReleaseExport(x);
var parsley = Assert.IsAssignableFrom<Parsley>(ingredient);
Assert.True(parsley.IsDisposed);
}
示例2: GetReleaseExport_NonSharedPart_ShouldNotRecomposeAfterRelease
public void GetReleaseExport_NonSharedPart_ShouldNotRecomposeAfterRelease()
{
var catalog = new TypeCatalog(typeof(NonSharedPartRecomposable));
var container = new CompositionContainer(catalog);
// Setup dependency
CompositionBatch batch = new CompositionBatch();
var valueKey = batch.AddExportedValue("Value", 21);
container.Compose(batch);
var export = container.GetExport<NonSharedPartRecomposable>();
var exportedValue = export.Value;
Assert.AreEqual(21, exportedValue.Value);
container.ReleaseExport(export);
// Recompose just to ensure we don't blow up, even though we don't expect anything to happen.
batch = new CompositionBatch();
batch.RemovePart(valueKey);
batch.AddExportedValue("Value", 42);
container.Compose(batch);
Assert.AreEqual(21, exportedValue.Value, "Value should not be recomposed after ReleaseExport is called on it.");
}