Example #1
0
        static void Main()
        {
            var context    = new CharactersDbContext();
            var characters = context.Characters.Include(x => x.Story.Author);


            foreach (var c in characters)
            {
                Console.WriteLine($"Персонаж: {c.FirstName} " +
                                  $"{c.LastName}  \tИстория: {c.Story?.Name}  \tАвтор истории: {c.Story?.Author?.AuthorName}");
            }

            // Задание 3
            var      filename = Environment.CurrentDirectory + @"\Test\Test.txt";
            FileInfo fileInfo = new FileInfo(filename);

            try
            {
                fileInfo.Create();
            }
            catch (Exception e)
            {
                var directory = fileInfo.DirectoryName;
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                    fileInfo.Create();
                }
                else
                {
                    Console.WriteLine($"Ошибка: {e.GetBaseException().Message}");
                }
            }

            // Задание 4
            var attr      = new MyAttributeExample();
            var myMethods = attr.GetType().GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);


            foreach (var method in myMethods)
            {
                foreach (var attributeData in method.CustomAttributes)
                {
                    Console.WriteLine($"Метод: {method} имеет атрибут: {attributeData}");
                }
            }
        }
Example #2
0
        public void Task2()
        {
            var atr = new MyAttributeExample();

            var myMethods = atr.GetType().GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.NonPublic);

            Console.WriteLine("Только объявленные мною приватные методы");
            foreach (var method in myMethods)
            {
                foreach (var attributeData in method.CustomAttributes)
                {
                    Console.WriteLine($"Метод: {method} имеет атрибут: {attributeData}");
                }
            }

            var myMembers = atr.GetType().GetMembers(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);

            Console.WriteLine("Только объявленные мною члены класса");
            foreach (var member in myMembers)
            {
                Console.WriteLine($" Член класса: {member}");
            }
        }