Я сталкиваюсь с этой же ошибкой в ​​следующих полях:

public string txnumber { get; set; }
public string qnumber { get; set; }
public string accountnumber { get; set; }
public decimal amount { get; set; }
public string emailaddress { get; set; }

Это определено в классе Txn.cs.

Текст ошибки для всех переменных:

Код серьезности Описание Состояние подавления строки файла проекта Предупреждение CS0108 «ReadTxn.txnumber» скрывает унаследованный член «Txn.txnumber». Используйте новое ключевое слово, если предполагалось скрытие. QAny Код серьезности Описание Состояние подавления строки файла проекта Предупреждение CS0108 «ReadTxn.txnumber» скрывает унаследованный член «Txn.txnumber». Используйте новое ключевое слово, если предполагалось скрытие. QAny C:\Users\user\source\repos\QAny\QAny\Models\Txn.cs 37

Активное предупреждение CS0108 «ReadTxn.qnumber» скрывает унаследованный член «Txn.qnumber». Используйте новое ключевое слово, если предполагалось скрытие. QAny C:\Users\user\source\repos\QAny\QAny\Models\Txn.cs 38

Активное предупреждение CS0108 «ReadTxn.accountnumber» скрывает унаследованный член «Txn.accountnumber». Используйте новое ключевое слово, если предполагалось скрытие. QAny C:\Users\user\source\repos\QAny\QAny\Models\Txn.cs 39

Активное предупреждение CS0108 «ReadTxn.amount» скрывает унаследованный член «Txn.amount». Используйте новое ключевое слово, если предполагалось скрытие. QAny C:\Users\user\source\repos\QAny\QAny\Models\Txn.cs 40

Активное предупреждение CS0108 «ReadTxn.emailaddress» скрывает унаследованный член «Txn.emailaddress». Используйте новое ключевое слово, если предполагалось скрытие. QAny C:\Users\user\source\repos\QAny\QAny\Models\Txn.cs 41

======== вот Txn.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace QAny.Models
{
    public class Txn
    {
        // define all the proeperties of the table with get and set
        public string txnumber { get; set; }
        public string qnumber { get; set; }
        public string accountnumber { get; set; }
        public decimal amount { get; set; }
        public string emailaddress { get; set; }

    }

    // will create a class to create an object of txn class

    public class createTxn : Txn
    {

    }

    public class ReadTxn : Txn
    {
        public ReadTxn(System.Data.DataRow row)
        {
            txnumber = row["txnumber"].ToString();
            qnumber = row["qnumber"].ToString();
            accountnumber = row["accountnumber"].ToString();
            amount = Convert.ToDecimal(row["amount"]);
            emailaddress = row["emailaddress"].ToString();
        }

        public string txnumber { get; set; }
        public string qnumber { get; set; }
        public string accountnumber { get; set; }
        public decimal amount { get; set; }
        public string emailaddress { get; set; }

    }
}
0
Concorde 20 Апр 2020 в 13:51
1
«скрывает унаследованный член», показывает объявление класса и родительский класс. ="nofollow noreferrer">Предупреждение компилятора (уровень 2) CS0108. Обратите внимание, что компилятор пытался дать эту информацию 6 раз только в цитируемом сообщении об ошибке.
 – 
Drag and Drop
20 Апр 2020 в 13:59

1 ответ

Сообщения, которые вы видите, указывают на то, что класс ReadTxn является производным от класса Txn, который уже содержит члены с такими же именами.

Это не ошибки, просто предупреждения. Если вы хотите подавить их, просто добавьте ключевое слово new в объявление вашего свойства, но помните, что это также, вероятно, означает, что вы делаете что-то неправильно, потому что скрытие членов базового класса редко является тем, что вы действительно хотите делать. Чтобы лучше понять эту концепцию, вы должны прочитать о наследовании в С#. Документация Microsoft может быть хорошей отправной точкой.

1
Kacper 20 Апр 2020 в 14:03