Тип конвертирования в set & get c # - PullRequest
0 голосов
/ 04 октября 2019

Я задаюсь вопросом о преобразовании типов в разделе определения класса. Например, возможно ли преобразовать из длинного в десятичное в секции get / set?

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Да, можно выполнить преобразование типов в любом месте кода C #. Если бы свойство get / set могло выполнять только одно возвращение / присваивание значения, тогда они не были бы нужны / у вас не было бы возможности вообще их кодировать;команда c # сделала бы это так, чтобы компилятор сделал это для вас как ярлык

Вот пример:

private long _backingField = 0;
public decimal PropertyName{
  get{
    return Convert.ToDecimal(_backingField);
  }
}

Слегка любопытно, почему вы беспокоитесь;делая свойство, вы говорите: «разработчик, использующий это свойство, должен предоставить / ожидать десятичное число» - зачем тогда хранить его в длинном (или наоборот) - почему бы просто не сохранить его как предоставленное им десятичное число и дать емуобратно в виде десятичного числа при запросе?

Если вам нужно это как долго для какого-то внутреннего процесса, скрыть его как часть цен, а не как часть хранения ..

0 голосов
/ 04 октября 2019

Just cast .

get => (decimal)someLong;
...