Opened 15 years ago

Closed 15 years ago

#167 closed バグ(仕様検討不足) (fixed)

メンバ関数とデリゲートで戻り値の共変と引数の反変に対応してほしい

Reported by: イグトランス (egtra) Owned by: dai
Priority: 高-critical Milestone: AB5 CP6
Component: Compiler Version:
Keywords: Cc:

Description

まず、このコードがコンパイルできないのがとても不便です。優先度を高にしたのはこのためです。

Class MyClass
	Implements System.ICloneable
Public
	Override Function Clone() As MyClass
	End Function
End Class

また、デリゲートでは反変に対応すると、ライブラリのあらゆるイベントをSystem.EventHandler型のデリゲートで捕まえられるようになり、より統一性のある環境を構築できると思います。

Class MyEventArgs
	Inherits System.EventArgs
End Class

Delegate Sub MyEventHandler(sender As Object, e As MyEventArgs)

'System.EventHandlerはDelegate Sub EventHandler(sender As Object, e As System.EventArgs)と定義されている
Dim e As System.EventHandler
Dim m As MyEventHandler
m += e

メソッドの引数の反変は

Change History (3)

comment:1 Changed 15 years ago by イグトランス (egtra)

Type: タスクバグ(仕様検討不足)

追記:少なくともメソッドの戻り値の共変は、以前できた覚えがあります。いつ頃だったかはっきり覚えていませんが。

comment:2 Changed 15 years ago by dai

Status: newassigned

メソッドの戻り値が共変の場合、オーバーロードをサポートするよう、[489]にて改修した。

comment:3 Changed 15 years ago by dai

Resolution: fixed
Status: assignedclosed

[491]にて、デリゲートに対する下記機能に対応した。

  • 共変戻り値サポート
  • 反変引数サポート
Note: See TracTickets for help on using tickets.