class Program
{
static void Main(string[]
args)
{
var builder = new ContainerBuilder();
builder.RegisterType<Calculator>()
.As<ICalculator>().EnableInterfaceInterceptors();
// Named registration
builder.Register(c
=> new CallLogger())
.Named<IInterceptor>("log-calls");
using (var container = builder.Build())
{
var calculator = container.Resolve<ICalculator>();
var result = calculator.Add(1, 2);
var vvv = calculator.Multiply(2, 3);
Console.WriteLine("Complete, program result is
{0}.", result);
Console.ReadKey();
}
}
}
public interface ICalculator
{
int Add(int lhs, int rhs);
int Multiply(int lhs, int rhs);
}
[Intercept("log-calls")]
public class Calculator :
ICalculator
{
public virtual int Add(int lhs, int rhs)
{
return lhs + rhs;
}
public virtual int Multiply(int lhs, int rhs)
{
return lhs * rhs;
}
}
public class CallLogger :
IInterceptor
{
public void Intercept(IInvocation invocation)
{
var vvv = string.Format("Calling method {0} with parameters
{1}... ",
invocation.Method.Name,
string.Join(",
",
invocation.Arguments.Select(a => (a ?? "").ToString()).ToArray()));
invocation.Arguments.SetValue(5,
0);
invocation.Proceed();
invocation.ReturnValue
= 3;
var vvvvv = string.Format("Done: result was {0}.", invocation.ReturnValue);
}
}
website adsense earning checker
ReplyDeleteadsense income calculator
website adsense earning checker
google adsense calculator
adsense revenue estimator
google adsense revenue calculator
Adsense Money Calculator
google adsense revenue calculator
adsense income calculator
adsense revenue calculator
adsense estimator
adsense estimator
website adsense earning checker
adsense revenue calculator
adsense calculator
website adsense earning checker
adsense estimator
google adsense revenue calculator
Adsense Money Calculator
google adsense revenue calculator
adsense revenue calculator
adsense revenue estimator
adsense earnings calculator