Skip to content

シンプルラムダ引数 #490

Description

@ufcpp

https://github.com/dotnet/csharplang/blob/main/proposals/simple-lambda-parameters-with-modifiers.md

Dd1=(intx,refinty)=>{};// OKDd2=(x,refinty)=>{};// NGDd3=(x,refy)=>{};// これをできるようにしたいdelegatevoidD(intx,refintr);// ref はそんなに使わないかもしれないけど、// こんな out あるでしょ?delegateboolTryParse<T>(stringx,outTvalue);

in, ref, out, ref readonly, scoped がターゲット。

Dd=(w,inx,refy,outz,scopeds)=> z =0;delegatevoidD(intw,inintx,refinty,outintz, scoped Span<int>s);

メモ:

  • scoped という名前のクラスが元々あった」みたいなアレな状況では一応破壊的変更があり得る。一応。
  • params は対象外(対象にするかどうか?議論はあったけど否決)
  • () なしはダメ。ref x => ref x はエラー((ref x) => ref x は行ける)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions