我收到此错误消息"由于其保护级别而无法访问"在最后一行,但我已经检查过,一切似乎都是公开的。可能有什么不对?
using System;
using System.Collections.Generic;
namespace Test
{
class Sneakers
{
public string _brand;
public Sneakers(string brand)
{
_brand = brand;
}
public string Show()
{
return "The brand is: " + _brand;
}
public static string Show(Sneakers mySneak)
{
return mySneak.Show();
}
}
class Program
{
static void Main(string[] args)
{
Sneakers mySneak = new Sneakers("Nike");
Dictionary<Sneakers, double> collection = new Dictionary<Sneakers, double>();
collection.Add(mySneak, 10);
foreach (KeyValuePair<Sneakers, double> item in collection)
{
Console.WriteLine(Sneakers.Show(item.key));//HERE IS THE ERROR IN "key"
}
}
}
}
答案 0 :(得分:7)
使用键而非键
Console.WriteLine(Sneakers.Show(item.Key));
答案 1 :(得分:0)
请通过K而不是k
项。的ķ强> EY :)
答案 2 :(得分:0)
键应以大写字母开头:
foreach (KeyValuePair<Sneakers, double> item in collection)
{
Console.WriteLine(Sneakers.Show(item.Key));//HERE IS THE ERROR IN "key"
}
答案 3 :(得分:0)
看起来像拼写错误,它应该是item.Key
。
K ,而不是key
答案 4 :(得分:0)
KeyValuePair
有一个名为Key
的媒体资源。请注意Pascal命名约定。你正在使用密钥,这是错误的。
foreach (KeyValuePair<Sneakers, double> item in collection)
{
Console.WriteLine(Sneakers.Show(item.Key));//HERE IS THE ERROR IN "key"
}
答案 5 :(得分:-1)
class Sneakers未标记为公开