- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
//одногрупнику надо было проверить, является ли "obj" - "А"
//наблюдал за процессом, и плакал
//----------------------------------------------------------------------------------
//1 версия
static bool IsA(object obj) {
if (obj.GetType().Name.Equals("A", StringComparison.InvariantCultureIgnoreCase))
return true;
else return false;
}
//----------------------------------------------------------------------------------
//2 версия
static bool IsA(object obj) {
A a = new A();
if (obj.GetType().Equals(a.GetType()))
return true;
else return false;
}
//----------------------------------------------------------------------------------
//3 версия
static bool IsA(object obj) {
if (obj.GetType().Equals(typeof(A)))
return true;
else return false;
}
//----------------------------------------------------------------------------------
//потом он вспомнил, что от "A" могут наследоваться другие классы
static bool IsA(object obj) {
Type typeObj = obj.GetType();
do {
if (typeObj.Equals(typeof(object)))
return false;
else if (typeObj.Equals(typeof(A)))
return true;
else typeObj = typeObj.BaseType;
} while (true);
}
//плачу, смеюсь и плачу, а с виду одногрупник вроде не Индус...
//...и весь этот говнокод был написан, вместо простого:
static bool IsA(object obj) { return obj is A; }