{"action":"closed","issue":{"url":"https://api.github.com/repos/dadhi/DryIoc/issues/47","repository_url":"https://api.github.com/repos/dadhi/DryIoc","labels_url":"https://api.github.com/repos/dadhi/DryIoc/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/dadhi/DryIoc/issues/47/comments","events_url":"https://api.github.com/repos/dadhi/DryIoc/issues/47/events","html_url":"https://github.com/dadhi/DryIoc/issues/47","id":379657124,"node_id":"MDU6SXNzdWUzNzk2NTcxMjQ=","number":47,"title":"Open generic registration error","user":{"login":"GameBelial","id":3907132,"node_id":"MDQ6VXNlcjM5MDcxMzI=","avatar_url":"https://avatars3.githubusercontent.com/u/3907132?v=4","gravatar_id":"","url":"https://api.github.com/users/GameBelial","html_url":"https://github.com/GameBelial","followers_url":"https://api.github.com/users/GameBelial/followers","following_url":"https://api.github.com/users/GameBelial/following{/other_user}","gists_url":"https://api.github.com/users/GameBelial/gists{/gist_id}","starred_url":"https://api.github.com/users/GameBelial/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GameBelial/subscriptions","organizations_url":"https://api.github.com/users/GameBelial/orgs","repos_url":"https://api.github.com/users/GameBelial/repos","events_url":"https://api.github.com/users/GameBelial/events{/privacy}","received_events_url":"https://api.github.com/users/GameBelial/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-11-12T07:46:24Z","updated_at":"2018-11-12T08:02:05Z","closed_at":"2018-11-12T08:02:05Z","author_association":"NONE","body":"My type definition：\r\n```csharp\r\n    public interface ITestInterface<TKey>\r\n    {\r\n        \r\n    }\r\n\r\n    public abstract class AbsTestClass<TKey> : ITestInterface<TKey>\r\n    {\r\n        \r\n    }\r\n\r\n    public class TestClass<TKey> : AbsTestClass<string>\r\n    {\r\n        \r\n    }\r\n```\r\nI use it like this：\r\n```csharp\r\nvar c = new Container(r=>r.WithTrackingDisposableTransients());\r\nc.Register(typeof(ITestInterface<>),typeof(TestClass<>),Reuse.Singleton);\r\n```\r\nHowever, he seems to be unable to work, prompting the following exception information：\r\n\r\n```\r\nDryIoc.ContainerException: Registering implementation type ConsoleApp1.TestClass<> is not assignable to service type ConsoleApp1.ITestInterface<>.\r\n  at DryIoc.Throw.It(Int32 error, Object arg0, Object arg1, Object arg2, Object arg3) in D:\\Dev\\DryIoc\\src\\DryIoc\\Container.cs:9491\r\n  at DryIoc.ReflectionFactory.ThrowIfImplementationAndServiceTypeParamsDontMatch(Type implType, Type serviceType) in D:\\Dev\\DryIoc\\src\\DryIoc\\Container.cs:7548\r\n  at DryIoc.ReflectionFactory.ThrowIfInvalidRegistration(Type serviceType, Object serviceKey, Boolean isStaticallyChecked, Rules rules) in D:\\Dev\\DryIoc\\src\\DryIoc\\Container.cs:7516\r\n  at DryIoc.Container.Register(Factory factory, Type serviceType, Object serviceKey, Nullable`1 ifAlreadyRegistered, Boolean isStaticallyChecked) in D:\\Dev\\DryIoc\\src\\DryIoc\\Container.cs:177\r\n  at DryIoc.Registrator.Register(IRegistrator registrator, Type serviceType, Type implementationType, IReuse reuse, Made made, Setup setup, Nullable`1 ifAlreadyRegistered, Object serviceKey) in D:\\Dev\\DryIoc\\src\\DryIoc\\Container.cs:4534\r\n  at ConsoleApp1.Program.Main(String[] args) in E:\\Tes\\PRoject\\2018.11.10\\ConsoleApp1\\ConsoleApp1\\Program.cs:43\r\n```"}}
{"actor":{"display_login":"GameBelial"}}