Ich versuche einen Weg zu finden, um die Eigenschaft einer Klasse zu übernehmen und sie zusammen mit einer anderen Variablen an eine Methode zu übergeben, um die Eigenschaft anhand der Bedingungen zu aktualisieren. Zum Beispiel < /p>
Die Klasse < /p>
public class MyClass{
public string? Prop1 { get; set; }
public string? Prop2 { get; set; }
public bool? Prop3 { get; set; }
public DateTime? Prop4 { get; set; }
... etc...
}
< /code>
Testcode Ich möchte mich an die Arbeit machen ...: < /p>
var obj = new MyClass();
MyCheckMethod(ref obj.Prop1, someCollection[0,1]);
< /code>
In der Methode: < /p>
private void MyCheckMethod(ref Object obj, string value)
{
if (!string.isnullorempty(value))
{
// data conversion may be needed here depending on data type of the property
obj = value;
}
}
< /code>
Ich möchte in der Lage sein, eine Eigenschaft einer Klasse zu übergeben und die Eigenschaft erst nach der Validierung des in der Methode übergebenen Werts zu aktualisieren. Ich hatte gehofft, dass ich das mit Generika machen konnte, aber ich habe noch keinen Weg gefunden, dies zu tun. Oder wenn ich überquere, was ich tun muss.private void MyCheckMethod(ref object obj, Action action)
< /code>
Dann könnte ich so etwas tun: < /p>
...
MyCheckMethod(ref obj.Prop1, (somecollection[0,1]) => {
... etc....
})
< /code>
Ich suche also nach Anleitung zum Vorgehen. Die Daten werden über API -Aufruf für das Produkt der dritten Partei geliefert ... Teil ihres SDK. In meiner Klasse muss ich jedoch richtige Datentypen haben. Konvertieren Sie Stringwerte in DateTime für Daten, Stringwerte in Int für int -Datentypen usw.. Die andere Einschränkung ist, dass der Standardwert der Eigenschaft, wenn es keinen gültigen Wert für den Datentyp gibt, null sein sollte. Eigenschaft.
Der eingehende Wert ist "". Ich teste, um festzustellen, ob der Zeichenfolgenwert nullorEmpty ist. Es ist so, dass ich nichts in der Eigenschaft mache.
Der eingehende Wert lautet "0,343". Es ist nicht so, dass ich die Eigenschaft aktualisieren kann, sobald ich einen Konvertieren usw. mache.>
Gibt es eine Möglichkeit, eine Klasseneigenschaft als Parameter an eine Methode zu übergeben? ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version