That's very exciting, thanks for listening! And yes, it's a breath of fresh air to use. Feels well thought through at every turn.
22.05.2025 15:08 β π 0 π 0 π¬ 0 π 0@jnm2.bsky.social
Partner and principal dev at Techsola. 7-year Microsoft MVP. Working on new C# language features. Finding perfect balance.
That's very exciting, thanks for listening! And yes, it's a breath of fresh air to use. Feels well thought through at every turn.
22.05.2025 15:08 β π 0 π 0 π¬ 0 π 0@patriksvensson.se I'm finally getting into Spectre.Console and it's spectactular, thank you!
One thing that's giving me cold feet though is that there's no support for named arguments/required options. It seems to me that named arguments are just as important in CLI scripting as in C#.
I'm losing the feeling of "what's happening is bad" that used to pop up for me when facing difficulties. Difficulties are the pathway to heart and soul and life and flow.
09.05.2025 01:07 β π 0 π 0 π¬ 0 π 0Summary This feature enables a type name to be omitted from static member access when it is the same as the target type. This reduces construction and consumption verbosity for factory methods, nested derived types, enum values, constants, singletons, and other static members. In doing so, the way is also paved for discriminated unions to benefit from the same concise construction and consumption syntaxes. type.GetMethod("Name", .Public | .Instance | .DeclaredOnly); // BindingFlags.Public | ... control.ForeColor = .Red; // Color.Red entity.InvoiceDate = .Today; // DateTime.Today ReadJsonDocument(.Parse(stream)); // JsonDocument.Parse // Production (static members on Option<int>) Option<int> option = condition ? .None : .Some(42); // Production (nested derived types) CustomResult result = condition ? new .Success(42) : new .Error("message"); // Consumption (nested derived types) return result switch { .Success(var val) => val, .Error => defaultVal, };
Discussion for a proposal I'm working on: Target-typed static member lookup
github.com/dotnet/cshar...
No, but this looks amazing! What is it doing differently from 'nuget why' that causes the binlog viewer to show < 47k lines of output for this? Is it excluding deeper-nested packages if the package is already present at a level nearer to the project?
14.12.2024 00:51 β π 0 π 0 π¬ 1 π 0There should be a word for the feeling of wrapping up from being ten layers deep into something, specifically finishing a bunch of tasks in a row as you unwind your stack, which you had been holding in memory. There's something satisfying about hitting all of them on the way out.
14.12.2024 00:22 β π 2 π 0 π¬ 0 π 0Have you ever run 'dotnet nuget why' and gotten a ridiculous or impossible amount of output to wade through? Would you be interested in a --depth parameter, or something similar?
github.com/dotnet/sdk/i...
This past year has been so different for me from all other years. I'm going to summarize the theme with a single quote:
"There are three musts that hold us back: I must do well. You must treat me well. And the world must be easy." (Albert Ellis)
Nothing is holding me back.
LDM just approved the proposal!
16.10.2024 17:58 β π 1 π 0 π¬ 0 π 0In a way that will never make sense, the thing holding you back is the thing you believe you have to have.
15.10.2024 22:31 β π 0 π 0 π¬ 0 π 0Proposing `typeof` string constants, e.g. allowing `typeof(C).FullName` as an attribute argument: github.com/dotnet/cshar...
Would love feedback with real-world use cases, as well as real-world use cases for variants such as `fullnameof` that _aren't_ addressed by this proposal.
C# proposal to allow nameof(List<>) will be considered soon! github.com/dotnet/cshar...
Originally proposed by @jonskeet.bsky.social.
open.spotify.com/album/40hWUh... by Jon Hopkins is incredibly powerful. I recommend setting aside an uninterrupted 41 minutes and lying down with headphones and an eye mask to listen.
01.09.2024 15:11 β π 0 π 0 π¬ 0 π 0I can't wait!
22.11.2023 18:03 β π 0 π 0 π¬ 0 π 0