SNMP#Net KeyValuePair error?
本文关键字:error KeyValuePair SNMP#Net | 更新日期: 2023-09-27 18:04:45
我使用这里的简单示例http://www.snmpsharpnet.com/?page_id=102
,并有以下代码:
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进行调整?
谢谢
您可以提供类型参数:
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());
}