{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Mvc/issues/3520","labels_url":"https://api.github.com/repos/aspnet/Mvc/issues/3520/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Mvc/issues/3520/comments","events_url":"https://api.github.com/repos/aspnet/Mvc/issues/3520/events","html_url":"https://github.com/aspnet/Mvc/issues/3520","id":116292933,"number":3520,"title":"Expose DefaultHtmlGenerator internal methods to deriving types","user":{"login":"klesniewski","id":6713429,"avatar_url":"https://avatars.githubusercontent.com/u/6713429?v=3","gravatar_id":"","url":"https://api.github.com/users/klesniewski","html_url":"https://github.com/klesniewski","followers_url":"https://api.github.com/users/klesniewski/followers","following_url":"https://api.github.com/users/klesniewski/following{/other_user}","gists_url":"https://api.github.com/users/klesniewski/gists{/gist_id}","starred_url":"https://api.github.com/users/klesniewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klesniewski/subscriptions","organizations_url":"https://api.github.com/users/klesniewski/orgs","repos_url":"https://api.github.com/users/klesniewski/repos","events_url":"https://api.github.com/users/klesniewski/events{/privacy}","received_events_url":"https://api.github.com/users/klesniewski/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-11-11T09:04:08Z","updated_at":"2015-12-02T23:43:50Z","closed_at":"2015-12-02T23:43:50Z","body":"I am developing custom tag helpers, which in API will be similar to built-in tag helpers. I found, that a lot of code, which could be reused, is implemented in `DefaultHtmlGenerator` as `internal` methods and therefore not available for reuse in deriving classes. Adding `protected` keyword could make it also available for reuse, but on the other hand would form a contract, on which people will depend.\r\n\r\nIs it a good idea to mark `internal` methods as `protected` and expose them for reuse, or should I rather create my own generator and copy the internal functionality I need?"},"comment":{"url":"https://api.github.com/repos/aspnet/Mvc/issues/comments/161468838","html_url":"https://github.com/aspnet/Mvc/issues/3520#issuecomment-161468838","issue_url":"https://api.github.com/repos/aspnet/Mvc/issues/3520","id":161468838,"user":{"login":"danroth27","id":1874516,"avatar_url":"https://avatars.githubusercontent.com/u/1874516?v=3","gravatar_id":"","url":"https://api.github.com/users/danroth27","html_url":"https://github.com/danroth27","followers_url":"https://api.github.com/users/danroth27/followers","following_url":"https://api.github.com/users/danroth27/following{/other_user}","gists_url":"https://api.github.com/users/danroth27/gists{/gist_id}","starred_url":"https://api.github.com/users/danroth27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danroth27/subscriptions","organizations_url":"https://api.github.com/users/danroth27/orgs","repos_url":"https://api.github.com/users/danroth27/repos","events_url":"https://api.github.com/users/danroth27/events{/privacy}","received_events_url":"https://api.github.com/users/danroth27/received_events","type":"User","site_admin":false},"created_at":"2015-12-02T23:43:50Z","updated_at":"2015-12-02T23:43:50Z","body":"Looks like there is no direct ask to make these methods public. We can reevaluate as requirements arise."}}