Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent visual studio from limiting the setter method to internal

Well, I use visual studio 2015 CE, update 2. One productivity hack I usually do is that I create empty model classes like:

public class PersonModel
{
}

and then use them in a select expression like:

db.People.Where(p => someCondition)
.Select(p => new PersonModel
{
    Id = p.Id,
    Name = p.Name,
    //set other properties
}).ToList();

Then I go to the yet non-existing properties Id and Name, ... and press Control+. to ask visual studio to generate property Id for me. All great, but it will create:

public int Id { get; internal set; }

and if I use the same method in an asp.net webapi model binding, the binding will fail silently and give me Id = 0.

So my question is: is there any option to ask VS to create public setter, i.e.:

public int Id { get; set; }
like image 785
Alireza Avatar asked Jun 26 '16 10:06

Alireza


2 Answers

So my question is: is there any option to ask VS to create public setter, i.e.:

No, there is no way to modify the shortcut to automatically add the property with a public set. Although your productivity hack is neat, your best bet is to create it yourself.

like image 101
Restnom Avatar answered Nov 11 '22 07:11

Restnom


You can do that by typing prop and press the TAB twice. It will require you to enter type and name for property though, won't extract it from existing one.

Best regards.

like image 1
Caldazar Avatar answered Nov 11 '22 06:11

Caldazar