Есть поле, которое используется в свойстве. Появилась необходимость переделать Product Product в Nullable Product. Но не могу никак привести к нему не nullable поле _product. Есть ли быстрые и красивые способы это сделать, без дополнительных классов, Activator.CreateInstance, и т.д?
private Product _product;
public Product? Product //The type 'Product' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'Nullable<T>'
{
get
{
if (_productId == 0) return null;
if (_product == null)
{
//если _product тоже поменять тип, то будет ругаться здесь.
_product = ProductsCollection.Instance[_productId];
}
return _product; // Cannot implicitly convert type 'namespace.Product' to 'namespace.Product?'. An explicit conversion exists (are you missing a cast?)
return (Product?)_product; //The type 'Product' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'Nullable<T>'
}
}
если Product
- это класс, то ему не нужен ?
он и так nullable, то есть может принимать значение null.
То есть первоначальный код вполне сработает:
private Product _product;
public Product Product //The type 'Product' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'Nullable<T>'
{
get
{
if (_productId == 0) return null;
if (_product == null)
{
_product = ProductsCollection.Instance[_productId];
}
return _product;
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
ПриветствуюПробую себя в Angular 2 Asp
Подскажите, как правильно сделать запрос к БД с формыКак я понимаю, делать это надо с помощью инъекций:
Пишу простую (со своей стороны) программу, она состоит из готового пакета KeystrokeAPI, который ловит нажатые клавиши и выводит их на консоль, так...
Есть список дат с несколькими культурами языков таких как "24 августа 2017" и "4 jenuery 2017" нужно конвертировать в DateTime, как сделать одну культуру...