{"action":"created","issue":{"url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/331","repository_url":"https://api.github.com/repos/sendgrid/sendgrid-csharp","labels_url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/331/labels{/name}","comments_url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/331/comments","events_url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/331/events","html_url":"https://github.com/sendgrid/sendgrid-csharp/issues/331","id":178789461,"number":331,"title":"Send a Single Email to a Single Recipient","user":{"login":"thinkingserious","id":146695,"avatar_url":"https://avatars.githubusercontent.com/u/146695?v=3","gravatar_id":"","url":"https://api.github.com/users/thinkingserious","html_url":"https://github.com/thinkingserious","followers_url":"https://api.github.com/users/thinkingserious/followers","following_url":"https://api.github.com/users/thinkingserious/following{/other_user}","gists_url":"https://api.github.com/users/thinkingserious/gists{/gist_id}","starred_url":"https://api.github.com/users/thinkingserious/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thinkingserious/subscriptions","organizations_url":"https://api.github.com/users/thinkingserious/orgs","repos_url":"https://api.github.com/users/thinkingserious/repos","events_url":"https://api.github.com/users/thinkingserious/events{/privacy}","received_events_url":"https://api.github.com/users/thinkingserious/received_events","type":"User","site_admin":false},"labels":[{"id":455096475,"url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/labels/hacktoberfest","name":"hacktoberfest","color":"fbca04","default":false},{"id":378717241,"url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/labels/status:%20help%20wanted","name":"status: help wanted","color":"d4c5f9","default":false},{"id":448035586,"url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/labels/type:%20task","name":"type: task","color":"bfdadc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":23,"created_at":"2016-09-23T05:39:08Z","updated_at":"2016-12-12T03:48:00Z","closed_at":null,"body":"Acceptance Criteria:\n- A email object that represents the response body payload\n- A mail object that handles sending email objects, data validation and error handling\n\nReference:\n- https://github.com/sendgrid/sendgrid-csharp/tree/master/SendGrid/SendGrid/Helpers/Mail\n- https://github.com/sendgrid/sendgrid-csharp/blob/master/CONTRIBUTING.md\n- https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html\n"},"comment":{"url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/comments/266337281","html_url":"https://github.com/sendgrid/sendgrid-csharp/issues/331#issuecomment-266337281","issue_url":"https://api.github.com/repos/sendgrid/sendgrid-csharp/issues/331","id":266337281,"user":{"login":"jkewley","id":1148930,"avatar_url":"https://avatars.githubusercontent.com/u/1148930?v=3","gravatar_id":"","url":"https://api.github.com/users/jkewley","html_url":"https://github.com/jkewley","followers_url":"https://api.github.com/users/jkewley/followers","following_url":"https://api.github.com/users/jkewley/following{/other_user}","gists_url":"https://api.github.com/users/jkewley/gists{/gist_id}","starred_url":"https://api.github.com/users/jkewley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkewley/subscriptions","organizations_url":"https://api.github.com/users/jkewley/orgs","repos_url":"https://api.github.com/users/jkewley/repos","events_url":"https://api.github.com/users/jkewley/events{/privacy}","received_events_url":"https://api.github.com/users/jkewley/received_events","type":"User","site_admin":false},"created_at":"2016-12-12T03:48:00Z","updated_at":"2016-12-12T03:48:00Z","body":"@thinkingserious  - I don't mean this as an attack or dismissal in any way, but [the code sample you put forth](https://github.com/sendgrid/sendgrid-csharp/issues/331#issuecomment-265664085) feels like an approach by someone who is coming to C# as a second or third programming language (your GitHub activity suggests that you dev across multiple languages). I'd strongly suggest that you reach out to someone who works with C# on a regular basis as a consumer of APIs and platforms. Given your preferred status within Azure at Microsoft, I'd expect that you should be able to engage someone over there for a little help/feedback.\r\n\r\nI've got to say that @darrelmiller's suggested approach seems so obvious that I can't imagine the implementation being much different. It makes appropriate use of C# language features, library names, and programming patterns and is exactly the style of code that you'll find on any current blog, article, or open source repository across the .Net ecosystem. (I personally would use EmailAddress over MailAddress, but that's fairly insignificant relative to everything else). \r\n\r\nHe made several good arguments for his approach, including the use of [properties over methods](https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx). I don't think I've seen the use of a method to set plain properties on a class since the 1.x versions of .Net. Maybe have a look at the [Framework Design Guidelines](https://msdn.microsoft.com/en-us/library/ms229042.aspx). \r\n\r\nAs for .Net Core, it looks like they've [decided which APIs they'll be re-implementing](https://github.com/dotnet/corefx/issues/11792#issuecomment-248139058) and have apparently made an [initial commit](https://github.com/dotnet/corefx/pull/12416) to the [System.Net.Mail namespace](https://github.com/dotnet/corefx/tree/master/src/System.Net.Mail/src)."}}
{"actor":{"display_login":"jkewley"}}