Propriétés du set-set privé dans l'initialisation d'objet C # 3.0

Si j'ai le code suivant:

public class MyClass 
{ 
  public string myName { get; private set; } 
  public string myId { get; set; } 
} 

Privée généré par le compilateur variable est créée pour le setter. Je veux le setter de ne pas être accessibles pour l'initialisation de l'objet. Mais, comment puis-je obtenir d'établir d'abord les myName variable?

De lecture à propos de l'initialisation de l'objet j'ai trouvé le suivant:

... elle est en lecture seule et l'
domaine privé représentant les
de stockage sous-jacent a une
généré par le compilateur nom que nous
ne peut pas utiliser dans un constructeur d'attribuer
. La solution consiste à utiliser [...] objet
les initialiseurs

La solution serait, ensuite, d'utiliser:

MyClass mc = new MyClass { 
myName = "What ever", 
myId = "1234" 
};

Mais cela finit par une erreur de compilation, sayin que:

La propriété ou d'indexation
"MyClass.MyClass.myName
ne peut pas être utilisé dans ce contexte, car
l'accesseur set est inaccessible

Alors, est-il un moyen de parvenir à la définition de cette valeur à l'aide de l'initialisation de l'objet? Si il y a, quelle est la bonne façon de le faire?

source d'informationauteur jluna