WinFuture-Forum.de: [geloest] C# Rückgabetyp weniger zugreifbar als aufrufende Methode - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[geloest] C# Rückgabetyp weniger zugreifbar als aufrufende Methode


#1 _nobido_

  • Gruppe: Gäste

geschrieben 15. Januar 2018 - 19:51

Hallo die Damen und Herren.

Habe da mal ein wenig Code...

public class TableProvider
{
	TableProvider()
	{ }

	private class ContactTable : System.Data.DataTable
	{
		public ContactTable()
		{ }
	}

	public ContactTable CreateNewContactTable()
	{ return new ContactTable(); }
}



...und eine dazugehoerige Fehlermeldung:

Zitat

Inkonsistenter Zugriff: Rückgabetyp "ADRDataModell.DataPattern.TableProvider.ContactTable"
ist weniger zugreifbar als Methode
"ADRDataModell.DataPattern.TableProvider.CreateNewContactTable()"


Ich hock grad bissl bloed guckend vor dem Monitor...
...'s will mir nicht in den Kopf.
Ich bin doch innerhalb derselben Klasse.



Gruß
n.

Dieser Beitrag wurde von nobido bearbeitet: 01. Februar 2018 - 20:20

0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 15. Januar 2018 - 20:22

Hat das einen Grund, daß Du das nested strukturierst?


Du versuchst halt eine ContactTable zurückzugeben, die public sein soll, aber die zugehörige Klasse ist private.

Mit nested classes wirst Du das nur hinbiegen, indem Du CreateNewContactTable() ebenfalls private anlegst (nested ist immer private).

Oder Du löst das auf und packst das in Namensräume, ggf untergeordnete, falls nötig/sinnvoll. Dann kannst Du ContactTable als öffentliche Klasse anlegen und darfst das dann auch als öffentliche Methode zurückgeben.

Dieser Beitrag wurde von RalphS bearbeitet: 15. Januar 2018 - 20:24

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 _nobido_

  • Gruppe: Gäste

geschrieben 15. Januar 2018 - 21:29

Ja, das mit dem Zugriffsmodifier ist mir auch schon aufgefallen.
Ist SO nicht auf meinem Mist gewachsen - ich muss es nur bissl ausbuegeln.

Hab die geschachtelte Klasse (es sind gar mehrere) einfach aus der umgebenden Klasse rausgenommen, aber im namespace belassen.
Hintergrund war/ist der, dass der Constructor der DataTable nicht von ausserhalb aufrufbar sein soll - hab den nun auf internal gesetzt und kann somit ein neues Objekt erzeugen und zureuckgeben.

Dank fuer die Antwort.

netten Abend noch.

n.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0