GetProperty() возвращает null как я понял - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть несколько типов репортов и у каждого есть свой пример так скажем
switch (tab.Text)
{
    case "Жалобы на игроков":
        selectreport = onPlayersReport;
    break;
    case "Жалобы на персонал":
        electreport = onStaffReport;
     break;
}
 
PrimerBox.Text = selectreport.GetType().GetProperty("ExampleReport").ToString(); //System.NullReferenceException
//PrimerBox.Text = (selectreport as ModerReport).ExampleReport;   - это работает,но у нас разные типы репортов
selectreport - это object,которому я присваиваю переменные например типа PlayerReport или ModerReport у всех них есть public string ExampleReport,которому присвоено значение
 class PlayerReport
    {
        public string ExampleReport = @"
1. [b]Ник нарушителя:[/b] $intruder
2. [b]Мой ник:[/b] $MyNick
3. [b]Причина:[/b] $reason
4. [b]Доказательства:[/b] $compromat
$dop
 
# Это коментарий (Программа его не может читать и после него тоже!)
Доступные переменные для написания жалобы:
$intruder - ник нарушителя
$MyNick - ваш ник
$reason - указаная вами причина жалобы
$compromat - коллекция скринов/видео
$dop - доп. инфа
";
 
        public string MyNick;
        public string Intruder;
        public string Reason;
        
        public string dop;
 
        public string Generate()
        {
            string output = ExampleReport.Split('#')[0];
            
            output = output.Replace("$intruder", Intruder);
            output = output.Replace("$MyNick",MyNick);
            output = output.Replace("$reason", Reason);
            output = output.Replace("$compromat", MainForm.compromat);
            output = output.Replace("$dop", dop);
 
            return output;
        }
    }
 
    class ModerReport
    {
        public string ExampleReport = @"
1. [b]Модер нарушивший правила:[/b] $intruder
2. [b]Ссылка на его профиль:[/b] $profile
3. [b]Мой ник:[/b] $MyNick
4. [i]Модератор[/i] $reason [b]игрока:[/b] $player
5. [b]Доказательства:[/b] $compromat
6. [b]Дата ошибки модератора:[/b] $date
$dop
 
# Это коментарий (Программа его не может читать и после него тоже!)
Доступные переменные для написания жалобы:
$intruder - ник модератора на которого жалоба
$profile - его профиль
$MyNick - ваш ник
$reason - что нарушил модератор
$player - какого игрока замутил/не замутил и тд. модератор
$compromat - доказательства
$date - дата ошибки модера
$dop - доп. инфа
";
 
        public string MyNick;
        public string Intruder;
        public string IntrProfile;
        public string Reason;
 
        public string Player;
      
        public DateTime IntrDate;
        public string dop;
    }
В C# не особо прям шарю,прошу помочь и понятно обьяснить,что я делаю не так

Решение задачи: «GetProperty() возвращает null как я понял»

textual
Листинг программы
BaseReport selectreport = ...;
switch (tab.Text)
{
    case "Жалобы на игроков":
        selectreport = onPlayersReport;
    break;
    case "Жалобы на персонал":
        selectreport = onStaffReport;
     break;
}
 
PrimerBox.Text = selectreport.ExampleReport;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы