DevForce Help Reference
WithFilter Method
Example 


Creates a new CompositionContext from the current context with the specified "global" metadata filter.
Syntax
'Declaration
 
Public Function WithFilter( _
   ByVal exportFilter As Func(Of Export,Boolean) _
) As CompositionContext
'Usage
 
Dim instance As CompositionContext
Dim exportFilter As Func(Of Export,Boolean)
Dim value As CompositionContext
 
value = instance.WithFilter(exportFilter)

Parameters

exportFilter
Remarks
If you've decorated your classes with the ExportMetadata attribute to provide metadata about the exported type you can filter for these types in your CompositionContext by providing an export filter. Use BuildExportFilter to create the filter.

A global filter is one which applies to discovery of all extensible types.

Example
public class CompositionContextResolver : BaseCompositionContextResolver {

  public override CompositionContext GetCompositionContext(string compositionContextName) {

    // Creates a new context from the Default context, with global metadata filtering.
    if (compositionContextName == "Mock") {
      var filter = CompositionContext.BuildExportFilter("IsMock", true);
      return CompositionContext.Default
         .WithFilter(filter)
         .WithName("Mock");
    } else {
      return base.GetCompositionContext(compositionContextName);
    }
  }
}

[InheritedExport(typeof(EntityServerQueryInterceptor))]
[ExportMetadata("IsMock", true)]
public class MockEntityServerQueryInterceptor : EntityServerQueryInterceptor {

  protected override bool ExecuteQuery() {
    throw new InvalidOperationException();
  }
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

CompositionContext Class
CompositionContext Members

Send Feedback