Есть ли способ передать свойство класса в качестве параметра методу?C#

Место общения программистов C#
Ответить
Anonymous
 Есть ли способ передать свойство класса в качестве параметра методу?

Сообщение Anonymous »

Я пытаюсь найти способ взять свойство класса и передать его методу вместе с другой переменной для обновления свойства на основе условий. Например < /p>

класс < /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>

тестовый код я хотел бы приступить к работе ...: < /p>

var obj = new MyClass();
MyCheckMethod(ref obj.Prop1, someCollection[0,1]);
< /code>

В методе: < /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>

Я хочу иметь возможность передать любое свойство любого класса и обновить свойство только после проверки значения, передаваемого в методе. Я надеялся, что смогу сделать это с дженерами, но я еще не нашел способ сделать это. Или, если я усложняю то, что мне нужно сделать.private void MyCheckMethod(ref object obj, Action action)
< /code>

Тогда я мог бы сделать что -то подобное: < /p>

...
MyCheckMethod(ref obj.Prop1, (somecollection[0,1]) => {
... etc....
})
< /code>

Итак, я ищу некоторое руководство о том, как продолжить. Данные поставляются с помощью API Coll для стороннего продукта ... часть их SDK. Однако в моем классе мне нужно иметь надлежащие типы данных. Преобразовать строки значения в DateTime для дат, строковых значений в int для типов данных int и т. Д. Другое предостережение заключается в том, что если нет допустимого значения для типа данных, то значение по умолчанию свойства должно быть нулевым. < /P>

Дополнительная информация: < /strong> < /p>

Входящие данные всегда находятся в формате строки. свойство.

входящее значение - "". Я проверяю, чтобы увидеть, является ли строковое значение реннее. Это так, что я ничего не делаю с свойством.
входящее значение составляет "0,343".
I Test, чтобы увидеть, является ли строковое значение Nullorempty. Это не так, чтобы я мог обновить свойство, как только я сделаю конверт и т. Д.>

Подробнее здесь: https://stackoverflow.com/questions/550 ... o-a-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»