- 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
using System;
namespace TestIssue
{
interface Iface1
{
int _get(int i);
}
interface Iface2
{
int _get(int i);
}
class S : Iface1, Iface2
{
int Iface1._get(int i) { return i; }
int Iface2._get(int i) { return i * 2; }
}
class Program
{
public static int Main ()
{
S s = new S();
var f1 = (Iface1)s;
var f2 = (Iface2)s;
Console.WriteLine(f1._get(10));
Console.WriteLine(f2._get(20));
return 0;
}
}
}
Antervis 13.04.2017 13:48 # +1
struct Iface1 {
int get(int val) { return val; }
};
struct Iface2 {
int get(int val) { return val*2; }
};
struct S : Iface1, Iface2 {};
int main() {
S s;
std::cout << ((Iface1&)s).get(10) << std::endl;
std::cout << ((Iface2&)s).get(20) << std::endl;
}
ASD_77 13.04.2017 13:56 # 0
типа такого
Antervis 13.04.2017 14:00 # +4
ASD_77 13.04.2017 14:09 # 0
но чувствую что где-то кидают
вот мой вариант
roman-kashitsyn 13.04.2017 14:40 # +12
ASD_77 13.04.2017 15:35 # 0
Dummy00001 13.04.2017 15:29 # +12
Одно дело когда кунпилер догадаться не можешь что ты перекрываешь/вызываешь - но куда намного хуже что девелоперы тоже ни хера догадатся не могут.
Я как то работал с либой там было 4-5 контейнеров. В каждом была пара дюжин insert()/delete()/enqueue()/dequeue() методов с различными аргументами. Самая популярная ошибка на протяжении жизни проета была что вызывался неправильный метод. Самая заябучая неприятность: когда вываливается список доступных имен, в нем сидит две дюжины методов с тем же именем - и все со слегка различными аргументами. Править это было мрак.
ASD_77 13.04.2017 15:39 # 0
Dummy00001 13.04.2017 15:46 # +11
и самое главное: вместо "iface" я пишу "intf".
roman-kashitsyn 13.04.2017 16:34 # +11
это большое отличие, очень хорошее
bormand 15.04.2017 20:41 # 0
Antervis 13.04.2017 16:50 # +2
а вообще, ICamelCase Ftw
Dummy00001 13.04.2017 17:11 # +11
в моем бравзере это читается как:
I, Camel. I, Case.
roman-kashitsyn 13.04.2017 18:09 # +11
emacs + glasses-mode ?
roman-kashitsyn 13.04.2017 18:21 # +11
Dummy00001 13.04.2017 15:30 # +11
Antervis 13.04.2017 14:31 # 0
roman-kashitsyn 13.04.2017 14:45 # +11
Elvenfighter 13.04.2017 15:47 # +1
ASD_77 13.04.2017 16:11 # 0
Xom94ok 13.04.2017 19:17 # +8
AntiUeban 13.04.2017 19:39 # −26
guestinh0 13.04.2017 23:42 # +5
Elvenfighter 14.04.2017 07:09 # 0
cykablyad 14.04.2017 17:58 # 0
guest 13.04.2017 23:17 # +4
defecate-plusplus 13.04.2017 23:36 # +2
guest 13.04.2017 23:59 # +6
Antervis 14.04.2017 06:21 # +2
Elvenfighter 14.04.2017 07:06 # 0
Antervis 14.04.2017 08:13 # 0