2016-05-04 6 views
0

Ich bekomme diese Fehlermeldung "Unzugänglich aufgrund seiner Schutzstufe" in der letzten Zeile, aber ich habe überprüft und alles scheint öffentlich zu sein. Was könnte falsch sein?Schutzlevel Fehler im Wörterbuch

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

Ich nehme an, es ist, weil 'Schlüssel' ein privates Feld ist. Du willst 'Key'. –

+1

Um Gottes willen machen Sie einfach das 'k' Großbuchstaben! 6 Antworten in 2 Minuten! – dotctor

+0

Ich stimme, diese Frage zu schließen, weil diese Frage durch ein Problem verursacht wurde, das nicht mehr reproduziert werden kann, oder ein einfacher Tippfehler. – dotctor

Antwort

4

Verwendung Key nicht Schlüssel

Console.WriteLine(Sneakers.Show(item.Key)); 
-1

Klasse Sneakers nicht als öffentlich markiert

0

bitte K passieren statt k

Artikel. K ey :)

0

Key sollte mit Großbuchstaben beginnen:

 foreach (KeyValuePair<Sneakers, double> item in collection) 
     { 
      Console.WriteLine(Sneakers.Show(item.Key));//HERE IS THE ERROR IN "key" 
     } 
0

Sieht aus wie Tippfehler, sollte es item.Key sein.

Es ist K ey nicht key

0

KeyValuePair eine Eigenschaft Key genannt hat. Beachten Sie die Pascal-Namenskonvention. Sie verwenden den Schlüssel, der einen Fehler verursacht.

foreach (KeyValuePair<Sneakers, double> item in collection) 
       { 
        Console.WriteLine(Sneakers.Show(item.Key));//HERE IS THE ERROR IN "key" 
       }