GenericInspector
using Castle.Core;
using System;
using System.Linq;
using System.Reflection;
namespace Castle.MicroKernel.ModelBuilder.Inspectors
{
[Serializable]
public class GenericInspector : IContributeComponentModelConstruction
{
public void ProcessModel(IKernel kernel, ComponentModel model)
{
model.RequiresGenericArguments = (((object)model.Implementation != null && model.Implementation.GetTypeInfo().get_IsGenericTypeDefinition()) || model.Services.Any((Type s) => s.GetTypeInfo().get_IsGenericTypeDefinition()));
}
}
}