- castleextensionsdemo.zip
- App.Configuration
- App.Core
- App.Data
- Castle.ExtensibleDynamicProxy
- Castle.Facilities.PresentationModelIntegration
- CastleExtensionsDemo.sln
- libs
- AttachedCommandBehavior.dll
- Castle.Core.dll
- Castle.DynamicProxy2.dll
- Castle.MicroKernel.dll
- Castle.Windsor.dll
- PresentationModelBase
- WPFUI
|
using System;
using System.Collections.Generic;
using System.Linq;
using Castle.DynamicProxy;
using Castle.DynamicProxy.Generators;
using Castle.DynamicProxy.Contributors;
namespace Castle.ExtensibleDynamicProxy
{
public class ExtensibleInterfaceProxyWithTargetGenerator : InterfaceProxyWithTargetGenerator
{
public ExtensibleInterfaceProxyWithTargetGenerator(ModuleScope scope, Type theInterface, ExtensibleProxyBuilder proxyBuilder)
: base(scope, theInterface)
{
_proxyBuilder = proxyBuilder;
}
ExtensibleProxyBuilder _proxyBuilder;
protected override IEnumerable<Type> GetTypeImplementerMapping(Type[] interfaces, Type proxyTargetType, out IEnumerable<ITypeContributor> contributors, INamingScope namingScope)
{
IEnumerable<ITypeContributor> contr;
var ret = base.GetTypeImplementerMapping(interfaces, proxyTargetType, out contr, namingScope);
var list = contr.ToList();
list.AddRange(_proxyBuilder.Contributors);
contributors = list;
return ret;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.