У меня есть класс B, который наследует класс A, оба находятся в C #. Они оба имеют свойство Value, класс A определяется так:
public object Value
{
get
{ [...] }
set
{ [...] }
}
Свойство класса B выглядит следующим образом:
public new decimal Value
{
get
{ [...] }
set
{ [...] }
}
Код ниже в VB, мы используем его так:
Dim var1 As new B
var1.Value = "abc"
Проблема в том, что вместо вызова свойства класса A, поскольку у класса B нет определения Value как строки, он пытается преобразовать строку в десятичную, прежде чем отправлять ее в свойство Value класса B. «abc» не является допустимым числом, оно выдает исключение, но я обработал это значение в свойстве Value класса A.
В любом случае, чтобы она не преобразовывала строку в десятичную и не вызывала свойство класса A вместо класса B?