Почему я не могу использовать перечислитель массива вместо того, чтобы реализовать его самостоятельно?

У меня есть код вроде этого:

public class EffectValues : IEnumerable<object>
{
    public object [ ] Values { get; set; }

    public IEnumerator<object> GetEnumerator ( )
    {
        return this.Values.GetEnumerator ( );
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ( )
    {
        return this.GetEnumerator ( );
    }
}

Но компилятор жалуется, говоря:

«Невозможно неявно преобразовать тип 'System.Collections.IEnumerator' в 'System.Collections.Generic.IEnumerator'. Существует явное преобразование (вы

import socket, sys
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = sys.argv[1]
port = int(sys.argv[2])
conn.connect((host, port))

print("Connected to host " + sys.argv[1])
td = 1
while td == 1:
   msg = raw_input('MSG:  ')

Вот сервер:

import socket, sys

socket.setdefaulttimeout(150)
host = ''               
port = 50005
socksize = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started on port: %s" % port)
s.listen(1)
print("Now listening...\n")
conn, addr = s.accept()

while True:
    print 'New connection from %s:%d' % (addr[0], addr[1])
    data = conn.recv(socksize)
    if not data:
        break
    elif data == 'killsrv':
        conn.close()
        sys.exit()
    else:
       print(data)
5
задан AustinM 24 February 2011 в 22:03
поделиться