Невозможно неявно преобразовать тип short в ushort - PullRequest
0 голосов
/ 01 октября 2019

Невозможно неявно преобразовать тип 'short' в ushort 'UnitsInStock = Convert.ToInt16 (tbxStock.Text)});

Код

private void btnAdd_Click(object sender, EventArgs e){
_productService.Add(new Product(){
CategoryId = Convert.ToInt32(cbxCategoryId.SelectedValue),
ProductName = tbxProductName2.Text,
QuantityPerUnit = tbxQuantityPerUnit.Text,
UnitPrice = Convert.ToDecimal(tbxUnitPrice.Text),
UnitsInStock = Convert.ToInt16(tbxStock.Text)});

1 Ответ

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

Вы говорите, что эта строка кода:

UnitsInStock = Convert.ToInt16(tbxStock.Text)});

Выдает ошибку:

Невозможно неявно преобразовать тип 'short' в ushort '

Все, что вам говорит компилятор, это то, что не существует неявного преобразования из short (который является результатом ToInt16) в ushort (который является unsigned short и, по-видимому, тип UnitsInStock).

Если вы уверены, что tbxStock.Text представляет неподписанное короткое, то самый простой способ решить это - преобразовать вправильный тип:

UnitsInStock = Convert.ToUInt16(tbxStock.Text)

Если вы не уверены, то вам, вероятно, следует использовать метод ushort.TryParse(), чтобы попытаться проанализировать строку с правильным типом и выдать сообщение об ошибке некоторого типапользователь, если синтаксический анализ завершился неудачей.

...