Я могу указать понятное имя для анонимного класса в C#?

Вы пробовали на компьютере с Windows использовать winrar или winzip? эти приложения должны иметь возможность открывать .gz и .tar.

Если это не удается, эти файлы не имеют формат. Может быть, у них есть расширения, но не совсем этот контент. Содержимое может быть произвольным для приложения и может использовать эти расширения для «запутывания».

В качестве способа проверки, если у вас есть HEX-редактор, проверьте подпись:

  • gz должен начинаться с 1F 8B
  • , tar должен начинаться с 75 73 74 61 72 (ustar)
  • sqlite должен начинаться с 53 51 4c 69 74 65 (SQLite)

Посмотрите в этой википедии, как определить содержимое файла по сигнатурам: https://en.wikipedia.org/wiki/List_of_file_signatures

Если вы уверены, что приложение использует SQLite, поищите подписи SQLite.

43
задан Matthew Lock 18 July 2013 в 03:14
поделиться

9 ответов

public class Employee {}

126
ответ дан 26 November 2019 в 22:22
поделиться

Это анонимный тип, который побеждает цель. Эти объекты предназначены для временного использования. Черт, свойства даже доступны только для чтения.

Извините, я умница. Ответ - нет, нет способа сообщить компилятору, какое имя использовать для анонимного типа.

Фактически, имена типов, сгенерированных компилятором, используют недопустимые символы в своих именах, так что вы не можете иметь конфликт имен в вашем приложении.

38
ответ дан 26 November 2019 в 22:22
поделиться
public class Employee {
    public int ID { get; set; }
    public string Name { get; set; }
}

Затем используйте следующий синтаксис

var employee = new Employee { ID = 5, Name = "Prashant" };
36
ответ дан 26 November 2019 в 22:22
поделиться

Сделать регулярный класс с именем?

public class Employee
{
    public int ID;
    public string Name;
}


var Employee = new Employee { ID = 5, Name= "Prashant" };
24
ответ дан 26 November 2019 в 22:22
поделиться

На самом деле, если вы не боитесь получить крайне мелкие детали, вы можете использовать TypeBuilder для создания собственного типа среды выполнения на основе вашего анонимного типа, что позволит вам указать имя для тип. Конечно, намного проще просто объявить класс, как предложили почти все остальные в этом потоке, но способ TypeBuilder гораздо более захватывающий. ;)

TypeBuilder

24
ответ дан 26 November 2019 в 22:22
поделиться

Да, вы создаете анонимный класс , если вы хотите, чтобы у вашего класса было имя , т.е. Не анонимный , затем объявляйте обычный класс или структуру.

4
ответ дан 26 November 2019 в 22:22
поделиться

Поскольку он анонимный, его нельзя назвать. Если вам нужно знать имя типа, тогда вы действительно должны создать класс.

4
ответ дан 26 November 2019 в 22:22
поделиться

Нет, невозможно дать осмысленное имя типа этим классам, как вы их объявили. Анонимные типы - это просто аноним. Невозможно явно «назвать» тип в коде, не прибегая к очень уродливым взломам.

Если вам действительно нужно дать типу имя, вам нужно будет явно объявить и использовать новый тип с нужными вам свойствами.

4
ответ дан 26 November 2019 в 22:22
поделиться

Я думаю, что по определению у анонимных типов не может быть имени, только то, которое дает компилятор Это. Если вам нужна более значимая информация времени разработки для анонимных типов, то вы ожидаете слишком многого от компилятора.

2
ответ дан 26 November 2019 в 22:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: