ufcpp-live / UfcppLiveAgenda

@ufcpp live streaming agenda
MIT License
24 stars 2 forks source link

.NET 8 Preview 4 & Visual Studio 17.7 Preview 1 #72

Closed ufcpp closed 1 year ago

ufcpp commented 1 year ago

配信URL: https://www.youtube.com/watch?v=VC3M7GAYWjs

あと、C# 的には 「nameof accessing instance members」とか入ったらしく。

class A
{
    public string? X { get; }

    public static string M() => nameof(X.Length); // ここの X.Length
}

関連: csharplang issues 7072

ufcpp commented 1 year ago

System.Text.Unicode の Utf8 クラスに TryWrite。 string interpolation で UTF-8 直書き込みできるようにしてるっぽい。

runtime pull 85328 で UTF16->UTF8 変換を JIT 時最適化しようとしてて、これが入れば、 $"" (UTF-16 な string interpolation) で書いてもペナルティほとんどなく UTF-8 直 interpolation できるはず?

ufcpp commented 1 year ago

https://devblogs.microsoft.com/visualstudio/sticky-scroll-stay-in-the-right-context/

確かに inner の方がよさげ。

ufcpp-live commented 1 year ago
class A1
{
    public string? Instance { get; }

    // これは元から行けた。
    public string InstanceM() => nameof(Instance.Length);
    public static string StaticM1() => nameof(String.Length);
    public static string StaticM2() => nameof(Instance);

    // これが今までダメだったらしい。
    // (誰得かはわからない。)
    public static string StaticM() => nameof(Instance.Length);
}
ufcpp-live commented 1 year ago
internal interface IInternal
{
    void M();
}

public class PublicClass : IInternal
{
    void IInternal.M()
    {
        // このメソッドは完全に internal にできる。
    }
}
ufcpp-live commented 1 year ago
/// <summary>
/// suspend, resume できるタイマー。
/// </summary>
class JojoTimeProvider : TimeProvider
{
    /// <summary>
    /// ザ・ワールド!!!!!
    /// </summary>
    public void TheWorld() { }

    /// <summary>
    /// そして時は動き出す。
    /// </summary>
    public void StarPlatina() { }
}

KingCrimson メソッドにしたければ GiogioTimeProvider にしてください。 (5部はイタリア語なので)

ufcpp-live commented 1 year ago

GitHub Copilot Chat は行けた気がする。

image