Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Flip side: LLMs have to be very explicitly told to code in "modern" .NET and C# due to lack of representation in the training set.

Case in point: extension members from C# 14 is one that LLMs commonly stumble on and requires an explicit example. It still sometimes says that this is not valid syntax.

    extension(SomeType instance)
    {
        public OtherType DoSomething() { ... }
    }
Agents really struggle on this one for some reason.

Even older releases have a few that I notice LLMs making mistakes on like use of `System.Threading.Lock` over `Object` when locking.



With Claude I never had that problem. However Claude does not use the pattern by default


The dotnet team provides some agent plugins which solve some of these issues. I expect unions in dotnet 11 will need some skill updates too.


I wonder if any of those work alongside Github Copilot (the autocomplete not actual agent).

Because at this point I would do anything if I could get Github Copilot to understand the new language features and stop trying to constantly revert code.

The one specific thing I'm constantly having to deny is Copilot seeing this:

    List<string> items = [];
into this:

    List<string> items = new List<string>();


For me it hardly matters, given that so many enterprise .NET projects are still stuck in Framework, including some from Microsoft themselves.


I am not noticing this. Does this by default for me




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: