2017-01-04 2 views
-1

Werte zu Ich habe eine Modellklasse, jede Eigenschaft wird einer Modellklasse zugeordnet.So weisen Sie einer Eigenschaft eines Objekts mithilfe der Aufgabe in C#

Betrachten Sie die Model-Klasse "Contact"

public class Contact 
{ 
    public Profile profileInfo { get; set; } 
    public bool isActive { get; set; } 
} 

public class Profile 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

Aufgabe im Zusammenhang C# -Code ist

public void MapContact(ref Contact contactInfo)  
{ 
    List<Task> taskList = new List<Task>(); 

    taskList.Add(Task.Factory.StartNew(() => 
    { 
     contactInfo.profileInfo = client.GetProfileInfo(1); 
    })); 

    Task.WaitAll(taskList.ToArray()); 
} 

Ich erhalte die Compile Zeitfehler "nicht ref verwenden oder out-Parameter‚Contact 'in einer anonymen Methode, einem Lambda-Ausdruck oder einem Abfrageausdruck "in der folgenden Anweisung

contactInfo.profileInfo = client.GetProfileInfo(1); 

Bitte helfen Sie mir, wie Task effizient ohne Compile-Time Error zu verwenden.

hier mit ich den Screenshot beigefügt

enter image description here

+0

Was ist die Signatur von 'client.GetProfileInfo'? –

+0

@lukegv - Profil –

+2

@lukegv - Der Fehler bezieht sich nicht auf die Signatur von client.GetProfileInfo –

Antwort

1

nur eine lokale Variable gleichen Typs Kontakt erklären und übergeben Sie einfach diese lokale Variable zu dieser Aufgabe

C# Code:

public void MapContact(ref Contact contactInfo) 
{ 
    List<Task> taskList = new List<Task>(); 

    Contact pro = contactInfo; 

    taskList.Add(Task.Factory.StartNew(() => 
     { pro.profileInfo = new Profile() 
      { 
       FirstName = "Stack", 
       LastName = "Overflow" 
      }; 
     })); 

    Task.WaitAll(taskList.ToArray()); 
} 

Der LinqPad-Ausgang ist enter image description here

+2

@HenkHolterman - Wir sind hier, um nur die Lösung oder den Vorschlag zu geben, der unser Limit ist. Wenn wir versuchen, die Fragesteller zu beeinflussen, ist das keine gesunde Diskussion. Da niemand den eigentlichen Code veröffentlichen sollte, haben die meisten von uns das tatsächliche Szenario mit Beispielcodes dargestellt. Wir kennen nicht den eigentlichen Zweck von 'ref', also versuchen Sie in diesem Szenario nicht, die Fragebogenanforderung zu brechen, wenn Sie nicht kommen sollten, um die Frage zu stellen. Es ist meine bescheidene Bitte ... –

+0

Wenn das 'ref' nicht notwendig ist, dann wird Ihre Antwort nicht benötigt. Wenn es wichtig ist, dann wird Ihre Antwort nicht genug sein. –

+0

@HenkHolterman - Dumme Richtlinien. Lesen Sie zuerst die Richtlinien gründlich durch. Die Guidelines sind für uns gerahmt, das dient nur dazu, die Diskussion nicht um Selbstmord zu straffen. Wenn jemand die Frage stellt, posten sie etwas, um eine Lösung zu finden, aber Leute wie du denken, wir sind die Vorgesetzten, wir sind die Admins, als ob das so wäre. Das ist das einzige Problem für die Neulinge. Ändere zuerst die Einstellung. –

Verwandte Themen