Главная / Программирование /
Введение в программирование / Тест 17
Введение в программирование - тест 17
Упражнение 1:
Номер 1
Какой модификатор доступа ограничивает доступ к индексатору рамками текущего проекта:
Ответ:
 (1) public
 
 (2) protected
 
 (3) internal
 
Номер 2
Какой модификатор доступа ограничивает доступ к индексатору рамками наследуемых классов:
Ответ:
 (1) public
 
 (2) protected
 
 (3) internal
 
Номер 3
Укажите код, не содержащий ошибок при определении класса аксессора:
Ответ:
 (1) public class AClass1
{ public AClass1() { }
private int imyArray2 = new int[12,20];
public int this[int ind1, int ind2]
{ get {return imyArray2[ind1,ind2]; }
set {imyArray2[ind1,ind2]= value; } } } 
 (2) public class AClass1
{ public AClass1() { }
private int [,] imyArray2 = new int[2,10];
public int this[int ind1, int ind2]
{ get {return imyArray2[ind1,ind2]; }
set {imyArray2[ind1,ind2]= value; } } } 
 (3) public class AClass1
{ public AClass1() { }
private int [,] imyArray2 = new int[2,10];
public int this[int ind1, int ind2]
{ get {return imyArray2[ind1]; }
set {imyArray2[ind1]= value; } } } 
Упражнение 2:
Номер 1
Какой метод возвращает объект Type
, представляющий тип экземпляра объекта:
Ответ:
 (1) GetType
 
 (2) GetTypeArray
 
 (3) GetInterfaces
 
Номер 2
Какой метод позволяет получать информацию о методах:
Ответ:
 (1) GetMethods
 
 (2) GetType
 
 (3) GetTypeArray
 
 (4) GetInterfaces
 
Номер 3
Укажите фрагмент кода, правильно выполняющий запрос списка общедоступных методов:
Ответ:
 (1) MethodInfo myArrMethodInfo1 =
myType.GetMethods(BindingFlags.Public
|BindingFlags.Instance); 
 (2) MethodInfo[] myArrMethodInfo1 =
myType.GetMethods(BindingFlags.Public
|BindingFlags.Instance |BindingFlags.DeclaredOnly); 
 (3) MethodInfo myArrMethodInfo1 =
myType.GetMethods(BindingFlags.Public
|BindingFlags.Instance |BindingFlags.DeclaredOnly); 
Упражнение 3:
Номер 1
Укажите фрагмент кода, правильно выполняющий запрос списка защищенных методов:
Ответ:
 (1) MethodInfo myArrMethodInfo1 =
myType.GetMethods(BindingFlags.NonPublic
|BindingFlags.Instance); 
 (2) MethodInfo[] myArrMethodInfo1 =
myType.GetMethods(BindingFlags.NonPublic
|BindingFlags.Instance |BindingFlags.DeclaredOnly); 
 (3) MethodInfo[] myArrMethodInfo1 =
myType.GetMethods(BindingFlags.Public
|BindingFlags.Instance |BindingFlags.DeclaredOnly); 
Номер 2
Определите код, не содержащий ошибок при объявлении класса атрибута:
Ответ:
 (1) [AttributeUsage(AttributeTargets.All)]
public class MyAttribute
{ private string name; private int kod;
public MyAttribute(string name)
{this.name = name; this.kod = 10; }
public string Name { get { return name;} }
public int Kod { get { return kod; }
set {kod=value; } }} 
 (2) [AttributeUsage(AttributeTargets.All)]
public class MyAttribute : System.Attribute
{ private string name; private int kod;
public MyAttribute(string name)
{this.name = name; this.kod = 10; }
public string Name { get { return name;} }
public int Kod { get { return kod; }
set {kod=value; } }} 
 (3) [AttributeUsage(Targets.All)]
public class MyAttribute : System.Attribute
{ private string name; private int kod;
public MyAttribute(string name)
{this.name = name; this.kod = 10; }
public string Name { get { return name;} }
public int Kod { get { return kod; }
set {kod=value; } }} 
Номер 3
Какой метод при использовании объекта типа атрибута возвращает значения атрибута:
Ответ:
 (1) GetCustomAttribute
 
 (2) GetType
 
 (3) GetMetods
 
Упражнение 4:
Номер 1
Укажите код на языке C#, не содержащий ошибок при определении класса аксессора:
Ответ:
 (1) public class AClass1
{ public AClass1() { }
private int [] imyArray = new int[20];
public this[int ind1]
{ get { return imyArray[ind1]; }
set { imyArray[ind1]= value; } } } 
 (2) public class AClass1
{ public AClass1() { }
private int [] imyArray = new int[20];
public int this
{ get { return imyArray[ind1]; }
set { imyArray[ind1]= value; } } } 
 (3) public class AClass1
{ public AClass1() { }
private int [] imyArray = new int[20];
public int this[int ind1]
{ get { return imyArray[ind1]; }
set { imyArray[ind1]= value; } } } 
Номер 2
Какой класс библиотеки Framework позволяет указать, что использовать данный объявляемый атрибут могут только элементы языка C#, задаваемые параметром:
Ответ:
 (1) System.AttributeUsageAttribute
 
 (2) System.Attribute
 
 (3) System.Reflection
 
Номер 3
Какой тип библиотеки Framework позволяет специфицировать элемент C#, для которого возможно задание данного атрибута:
Ответ:
 (1) System.AttributeUsageAttribute
 
 (2) System.Attribute
 
 (3) System.Reflection
 
 (4) System.AttributeTargets
 
Упражнение 5:
Номер 1
Механизм отражения в C# может использоваться для:
Ответ:
 (1) запроса значений атрибутов 
 (2) задания значений атрибутов 
 (3) доступа к метаданным 
Номер 2
Укажите, какие утверждения верны для определения индексаторов в языке C#:
Ответ:
 (1) в одном классе может быть определено несколько индексаторов с одинаковым числом параметров 
 (2) каждый класс может содержать определение только одного индексатора 
 (3) в одном классе может быть определено более двух индексаторов, если число параметров этих индексаторов различно 
Номер 3
Определите код на языке C#, который не содержит ошибок при объявлении класса атрибута:
Ответ:
 (1) [AttributeUsage(AttributeTargets.All)]
public class MyAttribute : System.Attribute
{ private string name;
public MyAttribute(string name) {this.name = name; }
public string Name { get { } } 
 (2) [AttributeUsage(AttributeTargets.All)]
public class MyAttribute : { private string name;
public MyAttribute(string name) {this.name = name; }
public string Name { get { return name;} } } 
 (3) [AttributeUsage(AttributeTargets.All)]
public class MyAttribute : System.Attribute
{ private string name;
public MyAttribute(string name) {this.name = name; }
public string Name { get { return name;} } }