Typically, you would implement extended stored procedures in native code, that is, the language would be C++. I don't think you can to it managed code, that is .NET and C#.
Then again, extended stored procedures is a very old feature that you have very little reason to use.
You can run C# from SQL Server, but in that case you would implement a CLR stored procedure, which is more straightforward than extended stored procedure - but still a bit cumbersome. See further https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/clr-stored-procedures.