Laden...

Forenbeiträge von BhaaL Ingesamt 656 Beiträge

11.04.2023 - 07:54 Uhr

Ists eigentlich Absicht, dass ein klick auf "Sammelthema Wünsche und Bugreports myCSharp " in der Foren-Übersicht nicht zum letzten Beitrag springt, sondern zum ersten? Das ist irgendwie...merkwürdig.

21.10.2022 - 08:07 Uhr

Hm, ich hab mich grade gewundert, dass die "Letzten Beiträge" plötzlich aus 2020/2021 waren, und hab dann irgendwie vermutet dass dieses Sammelthema und ggf. auch andere vielleicht in ein neues Unterforum gewandert sind...Bis ich das Unterforum dann mal aufgemacht und reingesehen hab.

Siehe angehängter Screenshot, der ist von grade eben (und nicht von vor einem Jahr)

Edit: Oh, und wie sollte es anders sein; durch meinen Post wurde das jetzt aktualisiert - und jetzt stimmts wieder /shrug

Edit 2: Man merkts aktuell aber zb. auch noch in den Szenenews, wo das Forum den letzten Beitrag als 16.02.2022 anzeigt; der tatsächlich letzte aber vom 18.02.2022 ist (Nämlich die .NET 7 Preview 1 Namensänderungen).

08.02.2022 - 15:29 Uhr

Holla die Waldfee, lang ists her. Ich hab C# damals einfach in der Schule kennen gelernt; 2004 oder 2005 rum müsste das gewesen sein (inmitten von VB6, C, Java und C++, die dort über die Jahre am Lehrplan standen). Teils in Nebenfächern, teils privat sind dann andere Sprachen ala Perl, PHP, TCL, Lua und Delphi dazu gekommen, womit es "yet another one for the pile" war. Irgendwann ist man als Entwickler halt so weit, dass die Sprache nur mehr Syntax ist und der Rest einfach "funktioniert" weil man die Erfahrung hat.

C# hatte mir zwar grundsätzlich gefallen (weils von der Syntax her an C/C++ angelehnt war, aber auch eine gewisse Eleganz mitgebracht hat die mir dort teilweise gefehlt hatte), aber die Notwendigkeit für eine Runtime (die jemand extra am Rechner installieren muss, bevor das Programm funktioniert) war mir bei Java schon ein Dorn im Auge und hat auch bei C# ein klein wenig den Wind aus den Segeln genommen. Drum war eine Zeitlang eher Delphi mein Favorit; alles self-contained und läuft (ohne dass die Applikation gleich mehrere 100 MB hat).
Die Jahre drauf hat sich aber mehr und mehr rausgestellt, dass Windows schon inklusive .NET Framework kommt, und das nachinstallieren damit nicht mehr so ins Gewicht fällt wie bisher (auch wenns nicht unbedingt komplett wegfällt; wenn man jetzt beispielsweise .NET Framework 4.6.1 vorinstalliert hat, aber .NET Framework 4.7 nutzen möchte).

Mein erster Job war dann - C#. Und so bin ich inzwischen halt auch schon wie T-Virus gute 15 Jahre dabei, und hab ab C#1.0 damals bis C#10 heute so ziemlich alles so ziemlich alles mitbekommen was da war. Inklusive dotnet/csharplang, wo das C# Language Design abläuft.

Aktuell - wenn sich nicht aufgrund bestehender Gegebenheiten eine besser geeignete Sprache ergibt - ist C# mein Mittel der Wahl. Und teilweise ist das auch meine Empfehlung an Leute, die gerne in die Programmierung/Entwicklung einsteigen möchten.

16.12.2021 - 14:37 Uhr

Weiß nicht obs jemandem aufgefallen ist, aber sobald man auf **www.**mysharp.de geht, kommt nur ein Fehler:

Our services aren't available right now

We're working to restore all services as soon as possible. Please check back soon.
0F0C7YQAAAADjmuv5AljnSZV2Vu2cYGydVklFRURHRTA2MTAARWRnZQ==

Nachdem ichs in meinem Bookmark inklusive www drin hatte, dachte ich anfangs dass ihr grade rumbastelt...bis es dann mal ein paar Tage lang so war und mir das Ganze komisch vorkam. Dann hab ich ein wenig an der URL rumgespielt und bin ohne www dann plötzlich wieder auf einer funktionierenden Seite gelandet.

Im TLS Zertifikat ist übrigens auch kein Subject Alternate Name für www.mycsharp.de drin.

28.07.2021 - 12:54 Uhr

Mich würde es auch sehr freuen, wenn man Links standardmäßig in einem neuen Tab öffnen könnte.

Ich ergänz das mal (auch wenn ich persönlich auch meist selber mit der mittleren Maustaste arbeite):
Mich würde es auch sehr freuen, wenn man externe Links standardmäßig in einem neuen Tab öffnen könnte.

Primär deshalb, weil mans von anderen Seiten so kennt - sobald man die Seite verlassen würde gibts lieber ein neues Fenster/Tab, damit der Benutzer doch noch da bleibt 😉

21.04.2021 - 08:24 Uhr

Ich persönlich nutze die Browser-Extension "Night Eye", die verpasst den meisten Websites ein erstaunlich gut aussehendes dunkles Theme.

Kannte ich bisher noch nicht, danke für den Hinweis!

20.04.2021 - 10:34 Uhr

Nachdem das hier auch ein Wünsch-dir-was Thread ist: Dark Theme? 🙂
Ist mir mehr oder weniger nebenbei aufgefallen, wie ich letztens meine Tabs durchgeklickt hatte und beim Forum ein klein wenig geflasht wurde (weil alles andere was ich rumfliegen habe entweder ein Dark Theme anbietet oder ich per User Style nachgeholfen hatte)

07.04.2021 - 08:37 Uhr

Dann hast Du einen Ad / Script Blocker, siehe
>

Steht auch im Startbeitrag dieses Themas unter Hinweise.

Grundsätzlich ja, aber der sagt mir erstens dass er nix geblockt hat (weil whitelisted), und zweitens gehts aktuell auch wieder.
Unterschied gestern zu heute: Ich sitz physikalisch vorm Rechner, vs. RDP gestern.

Ich würd mal sagen: ist ein transientes me-Problem, und für euch egal.

06.04.2021 - 14:56 Uhr

Also alles Cookies, die Betriebsrelevant sind.
Wir haben nicht einen einzigen optionalen oder trackenden Cookie.

Und das ist auch gut so 👍 (side-note: ich konnte den Smiley hier nur eintippen, beim Klick im Smiley Menü der Toolbar passiert nix; andere Buttons funktionieren, als ob der Klick erst vom Flyout gefangen/geschluckt werden würde anstatt vom jeweiligen Smiley Button - wäre net überrascht wenn das nur im Firefox passiert)

Hab den _ga mal gekübelt, schwupp, kommt auch nicht mehr wieder. __cfdui schon, aber das war zu erwarten.

Vermutlich Cookie Expiry date?
Ja.

Will do, falls/sobald mir das nochmal auffällt.

06.04.2021 - 13:21 Uhr

Sieht alles nach Client-seitigem Thema aus.

Irgendwas, worauf ich achten sollte, falls das nochmal vorkommt? Vermutlich Cookie Expiry date? Alles andere da drin sieht mir nach compressed und/oder encrypted payload aus; zumindest bekomm ich keinen sinnvollen plain-text raus (was sicher auch gut so ist).

Was mir auf die schnelle nur auffällt: Ich hab 5 Cookies (.AspNetCore.Antiforgery.[hash], .AspNetCore.Mvc.CookieTempDataProvider .MyCSharp.Identity, __cfduid und _ga).
Die ersten beiden sind Session Cookies (und daher vermutlich irrelevant), das .MyCSharp.Identity Cookie gilt eine Woche (also bis 13.4.2021), aber das __cfduid Cookie "nur" 5 Tage (also bis 11.4.2021) - und das _ga Cookie ein Jahr (also bis 13.4.2022, klingt dem Namen nach aber eher nach Google Analytics)

06.04.2021 - 08:47 Uhr

Hm, ich bin mir nicht ganz sicher ob das so sein sollte, aber ich musste mich vorhin wieder neu anmelden. In den Sessions sind jetzt 2 drin - meine aktuelle Session und eine alte, die zumindest laut den Datumswerten noch gültig sein sollte.
Ich war zuletzt am 1.4. hier, was etwa 5 Tage ohne Aktivität wären. Leider hab ich nicht dran gedacht, mir die Cookies anzusehen bevor ich mich angemeldet habe, drum kann ich net sagen ob hier eventuell was abgelaufen war.

09.03.2021 - 09:44 Uhr

Microsoft hat vor ewigen Zeiten mal das Projekt XMLDiffPatch in die Welt raus geworfen, was einerseits ein Diffing-Algorithmus für XML und andererseits ein Viewer (für WinForms glaub ich?) war. Auf die schnelle hab ich nur das NuGet Package gefunden, aber der Source Code sowie ein Haufen Forks sind auch out there, nur als food for thought.

03.03.2021 - 07:36 Uhr

OK, jetzt habe ich wohl den Grund gefunden: die letzte Login-Session war noch mit "Firefox 85" registriert, die aktuelle mit "Firefox 86".
Trotzdem ist das eigenartig, denn die Version hatte ich schon letzte Woche aktualisiert (die Firefox Version 86 erschien am 23.2.).

So siehts bei mir auch aus - ein Eintrag für Firefox 85 und die aktuelle mit Firefox 86.
Denke mal, Grund gefunden?

02.03.2021 - 15:25 Uhr

Wie gesagt, das Cookie spielt hier keine Rolle.
Im Cookie wird nur die Identität gespeichert, die für einen Login notwendig ist. Das Cookie hat keine weiteren Infos wie besuchte Threads etc.

Die Sache mit dem Cookie war auch auf "Eingeloggt bleiben" bezogen, weil ich mich trotzdem alle paar Wochen neu einloggen darf.
Das könnte aber auch auf Änderungen bei euch zurückzuführen sein, die das Cookie ungültig machen und damit halt ein erneutes Login erfordern (was ja ok ist).

02.03.2021 - 14:36 Uhr

Allerdings habe ich gestern erst einmal alle auf gelesen gesetzt. Heute sind diese wieder als ungelesen markiert. Hat das noch jemand oder liegt das an mir?

Hm, ja? Maybe? Ich hatte das auch jetzt unlängst, aber glaube erst nachdem ich mich neu einloggen durfte (kanns hier eventuell sein, dass das "Eingeloggt bleiben" Cookie nicht bei jedem Besuch aktualisiert wird?)

22.02.2021 - 09:37 Uhr

Befindet sich jetzt oben rechts und heißt "Forenbereich als gelesen markieren.". Ist aber nicht für das ganze Forum möglich, sondern nur für einzelne Forenbereiche.

Oh, gar nicht gesehen - weil ich im Normalfall auch nicht in ein Unterform direkt reingehe - außer wenn ich sehe, dass es neue Antworten gibt die aber nicht zum letzten Thread auf der Hauptseite gehört und mich möglicherweise interessiert.
Ich such das übrigens alles auf myCSharp.de - Diskussionsforum, weil ich dort alles im Blick hab.

Bitte doch ein wenig Geduld.
mycsharp ist ein Freizeitprojekt, daher dauert auch das ein oder andere vielleicht ein paar Tage

Is ja kein Vorwurf, ich wollts nur anmerken 🙂

Kann nicht oft genug gesagt werden, aber Danke für euren Einsatz und eure tolle Arbeit am Forum 👍

22.02.2021 - 07:46 Uhr

Wie's scheint gibts inzwischen auch die Anzeige, ob neue Posts/Threads in einem Unterforum drin sind - kuhl!

Was mir aber ein wenig fehlt ist die Möglichkeit, ganze Foren als "gelesen" zu markieren. Früher bzw. in anderen Foren gabs einerseits die Option, auf das Icon vom Unterforum zu klicken um nur das Unterforum zu markieren, plus ein Link unten am Ende der Seite für das komplette Forum.

Momentan ist bei mir alles Orange, auch wenn der letzte Beitrag in dem Forum noch aus 2020 oder älter ist.

05.02.2021 - 10:21 Uhr

Einen hab ich noch: Die Spalte "Letzter Beitrag" in der Foren-Übersicht kürzt den Titel, wenn er zu lang ist; hat hinten dran aber weder Ellipsis (dass man sieht dass gekürzt wurde) noch einen Tooltip mit dem vollständigen Titel.

Ist eine Kleinigkeit, aber halt viel Quality-of-Life wenn mans gewohnt ist.

05.02.2021 - 10:17 Uhr

ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.
ich glaube BhaaL meint nicht das Verstecken, sondern dass die Forenkategorien (z.B. Entwicklung, Knowledge Base, Gemeinschaft) früher klickbar waren, und dann eine Seite mit eben nur den Foren der jeweiligen Kategorie angezeigt wurde. Also wir die Forenübersicht, aber eben nur für die jeweilige Kategorie.

Richtig 🙂
Ich wusste bis grade eben gar nicht, dass verstecken auch eine Option war 😁

01.02.2021 - 07:49 Uhr

Kuhle Sache - vor allem das ellen-lange Write-Up, ich find solche Posts/Artikel/whatever immer geil, wenn man mehr über (s)eine Plattform erfährt 👍

Eine Kleinigkeit gäbe es von mir: ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.

15.10.2020 - 13:24 Uhr

Wer nicht direkt in der Registry rumpoken möchte [...]

Im Gegenteil, ab Visual Studio 2017 muss das sogar auf die Art erfolgen, weil es eben nicht mehr direkt in der Registry steht, sondern in einem sogenannten "Registry Hive file" (also defacto eine Datei, die man bei Bedarf in den Registry Editor laden und auf die Art ändern kann).
Nur liegt die Datei irgendwo in den Untiefen des Dateisystems und macht das ganze nicht grade einfach, wenn man tatsächlich über den Registry Editor gehen will.

15.09.2020 - 15:30 Uhr

Setzt du auch irgendwo booksSettings.ValidationFlags? Eventuell musst du dort XmlSchemaValidationFlags.ReportValidationWarnings mit reingeben, damit nicht bekannte Namespaces auch rauskommen (was nur Warnings sind, keine Errors - weil der Inhalt ja tatsächlich gültig sein könnte; dein Reader es aber mit den angegebenen Informationen nicht feststellen kann).

15.09.2020 - 13:35 Uhr

Das ist aber Zufall, dass es mit der ersten XML trotzdem funktioniert. Weil eigentlich ist der erste Parameter von [XmlSchemaCollection.Add(string, string)](https://docs.microsoft.com/en-us/dotnet/api/system.xml.schema.xmlschemacollection.add?view=netcore-3.1#System_Xml_Schema_XmlSchemaCollection_Add_System_String_System_String_) der Target Namespace zu dem das Schema gehört - und dein Book XML hat eindeutig einen (Default-)Namespace.

05.08.2020 - 09:13 Uhr

Vermutlich wärst du damit - wie witte bereits vorgeschlagen hat - mit einem anderen Control besser unterwegs, was für den Anwendungsfall gedacht ist (wie beispielsweise eben ein NumericUpDown Control) - das gibt es in diversen Control Suites wie beispielsweise dem WPF Toolkit, Infragistics, DevExpress usw.; oder falls wirklich nötig/gewünscht kannst du dir ein eigenes Control direkt im eigenen Projekt dafür schreiben.
Damit brauchst du auch keine Events (pro Eingabefeld), in denen du (pro Eingabefeld) unterscheiden musst; sondern du definierst auf dem Control selbst die Eigenschaften wie Min/Max oder Format und setzt sie dort, wo du im XAML das Control hinpackst.

04.08.2020 - 15:44 Uhr

Oder, nachdem wir hier im WPF-Unterforum sind, könnten dir möglicherweise auch Attached Properties weiterhelfen (je nachdem, was du vorhast; das kommt aus deinem Snippet nur schwer bis gar nicht raus)

17.01.2020 - 07:50 Uhr

In der Toolbar bzw. auch im Menü unter Edit > IntelliSense > Toggle Completion Mode gibts die Option, zwischen instant-completion und Vorschlag/Auswahl zu wechseln. Standardmäßig gibts dafür auch einen Hotkey (Irgendwas in Richtung Alt+Leertaste oder so); den ich bei mir aus genau dem Grund (also nicht Katze, sondern eher Fat-Fingering) entfernt habe.

16.12.2019 - 15:34 Uhr

Nur weil das rsm: fehlt, heißt das noch lange nicht, dass deine Datei nicht kompatibel ist.
In XML gibt es das Konzept eines Namespaces, der entweder per (frei definierbarem und sogesehen auch irrelevanten) Präfix referenziert (was dein rsm: wäre; mit entsprechender Deklaration per xmlns:rsm="your namespace here" Anweisung) oder als Default-Namespace pauschal überall gültig sein kann (was zb. nur ein einfaches xmlns="your namespace here" wäre).

Sofern das xmlns="your namespace here" irgendwo (üblicherweise: am Root Element; oder zumindest dort wo das Schema wechselt) steht, ist das XML selbst semantisch identisch (aber nicht syntaktisch).
Falls dir ersteres reicht (was zu 99% der Fall sein sollte), hast du nichts weiter zu tun. Falls nicht, musst du dich ein wenig mit dem XmlSerializer beschäftigen, ob bzw. wie du dort die Namespace-Prefixes beinflußen kannst.

10.12.2019 - 13:27 Uhr

Hast du neben dem Projekt (bzw. der Solution) eine \*.user (oder \*.suo) liegen? Versuch mal, die zu entfernen (oder zumindest weg zu schieben).

29.11.2019 - 13:48 Uhr

Dafür bräuchtest du System.Drawing als Referenz - die bietet Visual Studio im Normalfall nicht als Quick Action an (wobei es einige Plugins gibt, die es können/tun).

19.11.2019 - 17:38 Uhr

Zu beachten ist halt, dass ein Default-Parameter keine zweite Methode erzeugt, sondern effektiv nur die Methode mit x und y existiert.
An allen Stellen, wo nur das x übergeben wird, schreibt der Compiler fix den Standardwert (hier: 0) in den Aufruf rein.
Ist im gleichen Assembly wurscht, kann über Assembly-Grenzen hinweg aber bedeuten dass sich Aufrufe unterschiedlich verhalten können (wenn du beispielsweise den Standardwert änderst aber die aufrufenden Stellen nicht neu kompilierst; wo dann noch der alte Wert reingebacken ist...)

23.10.2019 - 07:55 Uhr

@BhaaL
System.Xml kann durch den XmlNamespaceManager sehr wohl mit den Namespaces umgehen.

Ich hatte spezifisch default Namespace Queries (also /Your/Nodes/Here für <Your xmlns="ns"><Nodes><Here/>...) geschrieben; also eine Abfrage wo ein unqualified QName tatsächlich ein Element in einem Namespace beschreibt.

Hier muss man nur den XmlNamespaceManager mit den Namespaces füllen und dann an die entsprechenden Überladungen z.B. bei XmlDocument/XmlNode SelectSingleNode/SelectNodes mitgeben.

Korrekt. Das wollte ich mit dem zweiten Teil der Anmerkung auch aussagen (dass man trotz default namespace im Dokument ein Präfix vergeben/nutzen muss).

22.10.2019 - 13:19 Uhr

Meine Glaskugel sagt mir, dass du ein Dokument mit Namespaces hast (entweder xmlns="..." oder xmlns:pref="..." mit <pref:element>...).
X-Path 1.0 (was mit System.Xml angeboten wird) kann keine Default-Namespace Queries; dh. du musst deinen X-Path in dem Fall immer mit Präfix definieren; egal welche der beiden Formen du benutzt. Der Namespace Manager gibt dir dabei das Mapping von (einem beliebigen) Präfix zu dem (im Dokument verwendeten) Namespace an.

08.10.2019 - 09:47 Uhr

Bist du eventuell auf der Suche nach Generics?

An der Stelle aber der Hinweis: Nur weil du etwas generisch machen kannst, heißt das nicht notwendigerweise, dass du es auch generisch machen solltest. Aber das kannst du nur selbst aufgrund deiner Anforderungen feststellen.

04.10.2019 - 13:47 Uhr

Ein beliebiger Stream halt. Beispielsweise dein MemoryStream den du eingangs genannt hattest.

04.10.2019 - 12:36 Uhr

Laut der ImageSharp Doku gibts auch ein image.Save(stream).
Was spricht dagegen, das zu nutzen?

16.09.2019 - 16:34 Uhr

Jo, ich kenn das Problem leider nur zu gut von unseren eigenen Views - und dort konnten wir meistens durch umsortieren der Controls ein brauchbares UI erreichen.
Gibts einen Grund, warum der Button unten sein muss? Sonst würd ich den einfach mal nach oben verfrachten.

16.09.2019 - 16:25 Uhr

Naja, das Problem ist eher, dass die RowDefinition deines StackPanel keine Height angegeben hat. Standardmäßig ist die \*, drum nimmt das Ding den ganzen Platz ein, den der Button nicht braucht.
Damit wird der Button auch immer unten dran kleben.

16.09.2019 - 16:00 Uhr

Wenn sich dein Programm mit dem klassischen "funktioniert nicht mehr" Dialog verabschiedet, würde ich mal einen Blick in den Windows Event Viewer werfen; spezifisch in den Ordner Windows Logs > Application, üblicherweise mit der Source ".NET Runtime". Dort gibts dann hoffentlich auch einen Stacktrace, der dir weiterhilft.

13.08.2019 - 15:50 Uhr

Was erwartest du an der Stelle? Dass die Picture Box eine Scrollbar bekommt (und das Bild so groß bleibt wie es ist), oder dass das Bild runterskaliert wird (damits reinpasst)?

06.08.2019 - 11:01 Uhr

Weblate gibts auch zum selber hosten; oder was meinst du?

05.08.2019 - 12:27 Uhr

Wir benutzen bei uns Weblate, und lassen regelmäßig mit den Git Repositories synchronisieren (neue Ressourcen nach Weblate, geänderte Übersetzungen zurück).

Crowdin kenne ich zwar nicht, aber "Webseite wo man die Ressourcen managen kann" klingt in etwa danach.

31.07.2019 - 10:24 Uhr

Type ist auch ein Typ vom Framework, und nicht dein konkreter Typ. Vermutlich willst du eher eine generische Methode, wo tableType als Typ-Parameter reinkommt und du am Ende JsonConvert.DeserializeObject<List<TTable>>(JSONstr) machen kannst.

26.07.2019 - 07:42 Uhr

/Edit hat sich erledigt, kann gelöscht werden.

Möchtest du das Ergebnis eventuell mit uns teilen, damit sich auch später jemand freuen kann, wenn er den Beitrag hier findet?

25.07.2019 - 11:54 Uhr

Wäre es eine Option, den HttpClient.SendAsync(HttpRequestMessage) Overload zu benutzen? Da kannst du pro Request die Optionen setzen (und somit in Folge den gleichen Client benutzen).

24.07.2019 - 08:06 Uhr

Implementiert deine Children Collection auch INotifyCollectionChanged? Eine normale List<T> macht das nicht, aber eine ObservableCollection<T> beispielsweise schon.

24.07.2019 - 07:42 Uhr

Wenn du MVVM machst, machst du irgendwo in deinem Haupt-ViewModel doch ein new SpeicherFensterViewModel() (bzw. ein entsprechendes Äquivalent davon), und dieses ViewModel sollte dann das Event haben. Damit kannst du es genau an der Stelle auch abonnieren.

09.07.2019 - 08:44 Uhr

Bist du sicher, dass die Markierung danach tatsächlich weg ist; und nicht nur einfach "nicht angezeigt" wird?
Die Selektion (welcher Text gewählt ist) sollte nach wie vor da sein, nur siehst du sie vermutlich nicht.

Probier mal per Button Click die Selektion als MessageBox auszugeben, dann siehst du dass die Auswahl noch da ist.

13.06.2019 - 16:46 Uhr

Ich hatte mal ein ähnliches Problem, was sich auch am nächsten Tag oder so von selbst gelöst hatte - Grund war dort ein .NET Update (oder wars eine Visual Studio Installation? Bin mir nicht mehr ganz sicher).
Auf jeden Fall war zu dem Zeitpunkt NGen noch nicht gelaufen, was die Startzeit maßgeblich beinflußt hatte - zwar nicht im Bereich einer halben Minute; aber an der Stelle doch merklich weil wir beim Process.Start mit sehr knappen Timeouts und Retries gearbeitet hatten die dann auf einmal permanent am triggern waren.

05.06.2019 - 16:42 Uhr

Eventuell wäre XSLT auch eine Überlegung wert, wenn es ggf. einfacher/schneller wäre direkt in einer Datei die Anweisungen zu hinterlegen (als eine Applikation zu schreiben, wo man dann recht viel Konfiguration braucht; abgesehen von der eigentlichen Applikationsentwicklung).
In .NET ist das wahlweise built-in über XslCompiledTransform (Limitiert auf XSLT 1.0) oder per zusätzlicher Library über Saxon-HE.Net (alle XSLT Versionen).

04.06.2019 - 08:18 Uhr

Interessant, ich hatte irgendwo mal gelesen dass der Plan wäre, in dem Fall die Checks/Exceptions/Contracts vom Compiler generiert werden sollen.

Kommt die NRE beim Zugriff auf person.Name.Length oder bereits beim Konstruktor-Aufruf new Person(null)?

Edit: Wies scheint hatte ich hier ein altes Proposal für den dammit Operator im Kopf, dass im Nullable Kontext folgende Syntax erlaubt sein soll(te):

#nullable enable
public static void MyFunc(string name!) { /* ... */ }

// becomes:
public static void MyFunc(string name)
{
    if (name is null) throw new ArgumentNullException(nameof(name));
    /* ... */
}