Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Inkonsekvent hjälpmedel: returtypen "typ" är mindre tillgänglig än metoden "metod"
Returtypen och var och en av de typer som refereras i den formella parameterlistan för en metod måste vara minst lika tillgänglig som själva metoden. Detta inkluderar typargument av generiska typer som används i returtypen eller parametrarna. Mer information finns i Åtkomstmodifierare.
Examples
Följande exempel genererar CS0050 eftersom ingen hjälpmedelsmodifierare har angetts för MyClass, och dess tillgänglighet är därför standard:private
// CS0050.cs
class MyClass // Accessibility defaults to private.
// Try the following line instead.
// public class MyClass
{
}
public class MyClass2
{
public static MyClass MyMethod() // CS0050
{
return new MyClass();
}
public static void Main() { }
}
CS0050 kan också inträffa när en generisk typs typargument är mindre tillgängligt än metoden:
// CS0050_Generic.cs
using System.Collections.ObjectModel;
internal class CeisData // Internal class
{
public string Name { get; set; }
}
public class MyClass
{
public static ObservableCollection<CeisData> BuildCeis() // CS0050
{
return new ObservableCollection<CeisData>();
}
}
Åtgärda det här felet genom att göra typargumentet minst lika tillgängligt som metoden:
// Fixed version
using System.Collections.ObjectModel;
public class CeisData // Now public
{
public string Name { get; set; }
}
public class MyClass
{
public static ObservableCollection<CeisData> BuildCeis() // OK
{
return new ObservableCollection<CeisData>();
}
}