{"id":19443098,"url":"https://github.com/asizikov/mr-eric","last_synced_at":"2025-07-30T07:37:03.361Z","repository":{"id":23106793,"uuid":"26461073","full_name":"asizikov/mr-eric","owner":"asizikov","description":":lock:  Create and initialize private auto-property context action for ReSharper","archived":false,"fork":false,"pushed_at":"2016-09-03T22:55:07.000Z","size":2056,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T13:39:38.719Z","etag":null,"topics":["c-sharp","code-analysis","resharper"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asizikov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-10T23:37:05.000Z","updated_at":"2023-08-29T11:00:57.000Z","dependencies_parsed_at":"2022-08-21T11:40:15.331Z","dependency_job_id":null,"html_url":"https://github.com/asizikov/mr-eric","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asizikov%2Fmr-eric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asizikov%2Fmr-eric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asizikov%2Fmr-eric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asizikov%2Fmr-eric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asizikov","download_url":"https://codeload.github.com/asizikov/mr-eric/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250733382,"owners_count":21478355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","code-analysis","resharper"],"created_at":"2024-11-10T15:42:01.494Z","updated_at":"2025-04-25T00:32:14.728Z","avatar_url":"https://github.com/asizikov.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"mr-eric\n=======\nCreate and initialize private/public readonly auto-property context action for ReSharper.\n\nBuild statuses\n\n| master | feature |\n|----|---|\n|[![Build status](https://ci.appveyor.com/api/projects/status/0oi2pep5gv5m1t2o/branch/master?svg=true)](https://ci.appveyor.com/project/asizikov/mr-eric/branch/master) |[![Build status](https://ci.appveyor.com/api/projects/status/0oi2pep5gv5m1t2o?svg=true)](https://ci.appveyor.com/project/asizikov/mr-eric) | \n\n\n\n## Features: \n\nCreate private, private read-only and public read-only properties quick fix:\n\n\u003cimg src=\"https://raw.githubusercontent.com/asizikov/mr-eric/master/Content/context_action_demo.gif\" width=\"600\"\u003e\n\nLive templates:\n\n\u003cimg src=\"https://raw.githubusercontent.com/asizikov/mr-eric/master/Content/LiveTemplates.gif\" width=\"600\"\u003e\n\n## Why\n\nThe plugin was inspired by the discussion about Auto Properties in C# language.\nhttp://stackoverflow.com/questions/3310186/are-there-any-reasons-to-use-private-properties-in-c\n\n```\nThe primary usage of this in my code is lazy initialization, as others have mentioned.\n\nAnother reason for private properties over fields is that private properties are much, much easier to debug than private fields.\nI frequently want to know things like \"this field is getting set unexpectedly; who is the first caller that sets this field?\"\nand it is way easier if you can just put a breakpoint on the setter and hit go. You can put logging in there. \nYou can put performance metrics in there. You can put in consistency checks that run in the debug build.\n\nBasically, it comes down to : code is far more powerful than data. \nAny technique that lets me write the code I need is a good one. \nFields don't let you write code in them, properties do.\n(c) Eric Lippert\n```\n\nHow to install\n===\nReSharper 8.2 (Not supported anymore):\nhttps://resharper-plugins.jetbrains.com/packages/MrEric/\n\nLatest ReSharper:\nhttps://resharper-plugins.jetbrains.com/packages/Sizikov.MrEric/\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasizikov%2Fmr-eric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasizikov%2Fmr-eric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasizikov%2Fmr-eric/lists"}