मेरे पास एक एसिंक फ़ंक्शन है जिसे कई बार कॉल किया जाना है लेकिन प्रत्येक कॉल के साथ एक इनपुट पैरामीटर बदलता है।

public void ProcesAsyncReq((Class) validatedInputs, string data1, string data2...)
{
  //logic here is to just pass the validatedInputs to the dataprovider ,no changes whatsoever
}

विभिन्न स्थानों से कॉल करते समय, (वर्ग) बदल जाता है, यह उदाहरण हो सकता है: कर्मचारी/एजेंसी/आदि क्या हम किसी तरह ऐसा कर सकते हैं?

मैंने क्या प्रयास किया:

public class DataStore<T>
        {
            public T data { get; set; }
        }
public void ProcesAsyncReq(string className,string validatedInputs, string data1, string data2...)
{
     DataStore<className> gclass1 = new DataStore<className>(); /*throws error that it is a 
               variable but is used as a type*/
      gclass1.data=Newtonsoft.Json.JsonConvert.DeserializeObject(validatedInputs);
      //logic here is to just pass the validatedInputs to the dataprovider ,no changes whatsoever
}
0
Shalini Raj 26 नवम्बर 2021, 11:15
आप अपने तरीके को सामान्य भी बना सकते हैं: public ProcesAsyncReq<T>(..)
 – 
Heinzi
26 नवम्बर 2021, 11:19
क्या आप संदर्भित करने के लिए किसी भी कोड की तरह एक उदाहरण दे सकते हैं। मैं अभी भी भ्रम में हूं कि मैं मान्य इनपुट डेटा भेजने के लिए क्लास इंस्टेंस कैसे बनाऊंगा?
 – 
Shalini Raj
26 नवम्बर 2021, 11:28
मैंने उत्तर के रूप में एक और वर्बोज़ उदाहरण जोड़ा है।
 – 
Heinzi
26 नवम्बर 2021, 11:41

1 उत्तर

सबसे बढ़िया उत्तर

आप अपनी विधि को सामान्य भी बना सकते हैं:

public void ProcesAsyncReq<T>(string validatedInputs)
{
    DataStore<T> gclass1 = new DataStore<T>();
  
    gclass1.data = JsonConvert.DeserializeObject<T>(validatedInputs);
    ...
}

जिसे आप इस प्रकार कहेंगे:

ProcesAsyncReq<Employee>(myStringContainingSerializedEmployee);
1
Heinzi 26 नवम्बर 2021, 11:41