myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Netzwerktechnologien » gRPC - Repeated String ist Schreibgeschützt
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

gRPC - Repeated String ist Schreibgeschützt

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
BierDav
myCSharp.de-Mitglied

avatar-4125.png


Dabei seit: 14.02.2019
Beiträge: 38
Entwicklungsumgebung: C#,Java(Android)


BierDav ist offline

gRPC - Repeated String ist Schreibgeschützt

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,
ich will in meinem Programm alle namen der Sub-Directories auslesen und zurückgeben

C#-Code:
message HelloReply
{
  repeated string Directrories = 1;
}

aber bei mir ist Directories schreibgeschützt also es hat nur eine get funktion und keine
set und wenn ich wie im Beispiel

C#-Code:
repeated string Directrories = 1 [packed=true];

verwende mag protoc es nicht compilieren es gib mir den ExitCode 1 zurück.
Kann mir bitte wer helfen wie ich ein String Array in gRPC mache bzw. Protobuf

LG BierDav
28.02.2019 17:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.241
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du solltest Schnittstellen stets erweiterbar designen; und das ist Dein Konstrukt nicht.
Es macht wenig Sinn das Directory als String zu repräsentieren.

Wieso verwendest Du nicht etwas alá

Code:
1:
2:
3:
4:
5:
6:
7:
8:
message DirectoryEnumerationReply
{
  repeated Directory directrories = 1;
}

message Directory {
  string name = 1;
}

Damit kannst Du das Directory auch stets erweitern mit weiteren Eigenschaften.
Davon abgesehen dürfte doch packed auf String gar nicht funkionieren; packed geht ja nur auf numerische Werte IIRC.
Sicher, dass das Beispiel hier string verwendet? Kann ich kaum glauben...zeig mal bitte das Beispiel.

Aber das kannst Du sicher der Doku entnehmen. Und schau Dir in der Doku gleich die empfehlene Schreibweise an...
28.02.2019 22:48 Beiträge des Benutzers | zu Buddylist hinzufügen
BierDav
myCSharp.de-Mitglied

avatar-4125.png


Dabei seit: 14.02.2019
Beiträge: 38
Entwicklungsumgebung: C#,Java(Android)

Themenstarter Thema begonnen von BierDav

BierDav ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nein im Beispiel ist es mit einem int32 und irgendwie ist dann Directrories noch immer Schreibgeschützt:

C#-Code:
                DirectoryInfo info = new DirectoryInfo(request.Path);
                List<directory> dirs = new List<directory>();
                foreach(DirectoryInfo dir in info.GetDirectories())
                {
                    dirs.Add(new directory { Name = dir.Name });
                }
                var resault =Task.FromResult(new DirectoryEnumerationReply { Directrories = dirs });

,aber trotzdem danke.

LG BierDav

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von BierDav am 01.03.2019 13:10.

01.03.2019 13:01 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.241
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hab leider keine Ahnung, worauf sich Dein "Schreibgeschützt" bezieht....
01.03.2019 13:18 Beiträge des Benutzers | zu Buddylist hinzufügen
BierDav
myCSharp.de-Mitglied

avatar-4125.png


Dabei seit: 14.02.2019
Beiträge: 38
Entwicklungsumgebung: C#,Java(Android)

Themenstarter Thema begonnen von BierDav

BierDav ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hab's gerade gefunden. Directories ist zwar Schreibgeschützt aber man kann trotzdem Items hinzufügen. Aber man muss das Reply schon vorher deklariert haben wie hier:

C#-Code:
                var reply = new DirectoryEnumerationReply();
                foreach(DirectoryInfo dir in info.GetDirectories())
                {
                    reply.Directrories.Add(new directory { Name = dir.Name });
                }
                var resault =Task.FromResult(reply);

LG BierDav
01.03.2019 15:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BierDav
myCSharp.de-Mitglied

avatar-4125.png


Dabei seit: 14.02.2019
Beiträge: 38
Entwicklungsumgebung: C#,Java(Android)

Themenstarter Thema begonnen von BierDav

BierDav ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Für die Administration.
Ihr könnt dieses Thema schließen.
Meine Frage wurde besser als gedacht beantwortet. :D

LG BierDav
01.03.2019 20:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 9 Monate.
Der letzte Beitrag ist älter als 9 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 09.12.2019 04:06