KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
If I have the following code: public class MyClass { public string myName { get; private set; } public string myId { get; set; } } A private compiler-generated variable is created for the setter. I want the setter not to be accessible for object initialization only. But, how do I get to initially set the myName variable? Reading about object initialization I found the following: ... it’s read-only and the private field representing the underlying storage has a compiler-generated name that we cannot use in a constructor to assign to it. The solution is to use [...] object initializers The solution would be, then, to use: MyClass mc = new MyClass { myName = "What ever", myId = "1234" }; But this ends up in a compiler error sayin that: The property or indexer 'MyClass.MyClass.myName' cannot be used in this context because the set accessor is inaccessible So, is there a way to achieve setting this value using object initialization? If there is, what is the correct way to do it?
Tags (comma-separated)
Save Edits
Cancel