2015-07-27 2 views
1

Я использую простой пример из здесь http://www.snmpsharpnet.com/?page_id=102Ошибка SNMP # Net KeyValuePair?

и имеют следующий код:

using SnmpSharpNet; 
using System; 
using System.Collections.Generic; 

namespace SNMP 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string host = "10.65.10.17"; 
      string community = "public"; 
      SimpleSnmp snmp = new SimpleSnmp(host, community); 

      if (!snmp.Valid) 
      { 
       Console.WriteLine("SNMP agent host name/ip address is invalid."); 
       return; 
      } 
      Dictionary<Oid, AsnType> result = snmp.Get(SnmpVersion.Ver1, 
                 new string[] { ".1.3.6.1.4.1.11.2.3.9.4.2.1.1.16.1.1.1.26.0" }); 
      if (result == null) 
      { 
       Console.WriteLine("No results received."); 
       return; 
      } 

      foreach (KeyValuePair kvp in result) 
      { 
       Console.WriteLine("{0}: {1} {2}", kvp.Key.ToString(), 
             SnmpConstants.GetTypeName(kvp.Value.Type), 
            kvp.Value.ToString()); 
      } 
     } 
    } 
} 

при попытке построить я получить

Using the generic type 'System.Collections.Generic.KeyValuePair<TKey,TValue>' requires 2 type arguments 

я упускаю ссылку где-нибудь? или нужна ли настройка образца для .net 4.5 и VS2013?

Благодаря

ответ

2

Вы можете либо ввести параметры типа:

foreach (KeyValuePair<Oid,AsnType> kvp in result) 
{ 
    Console.WriteLine("{0}: {1} {2}", kvp.Key.ToString(), 
       SnmpConstants.GetTypeName(kvp.Value.Type), 
       kvp.Value.ToString()); 
} 

Или пусть компилятор выполняет вывод типа:

foreach (var kvp in result) 
{ 
    Console.WriteLine("{0}: {1} {2}", kvp.Key.ToString(), 
       SnmpConstants.GetTypeName(kvp.Value.Type), 
       kvp.Value.ToString()); 
} 
+0

Прохладный всегда простой ответ там, спасибо –

Смежные вопросы