VB.Net에서 MsgBox()
함수에 내장 된 것을 오버로드하고 싶습니다.내장 된 vb.net 함수에 오버로드하는 방법
MsgBox가 팝업 될 때마다 삐 소리를 내고 싶지만, 예를 들어 MsgBoxWithBeep()
과 같이 새 기능을 만들지 않고 기존 코드에서 찾기/바꾸기를 전체적으로 수행합니다.
나는 모듈 내에이 잘 수행 할 수 있습니다
는Public Sub MsgBox(msg As String)
Beep()
MsgBox(msg)
End Sub
그러나 물론이 무한 재귀 루프 될 수있을 테니까요.
MyBase.MsgBox()
은 수업이 아니므로 할 수 없습니다.
모든 기본 제공 함수가 사용하는 가정 클래스가 있습니까? VbNetBaseClass.MsgBox()
또는 원래 함수로 돌아가는 다른 방법이 있습니까?
는 이러한 여러 가지가 있습니다를,있는 MsgBox는 Microsoft.VisualBasic.Interaction''에서 유래하지만 모듈이 아닌 클래스입니다. 그러나 오버로드는 다른 서명을 부여하는 것을 의미합니다. 이것은 컴파일러가 호출 할 버전을 알기 위해서 필요합니다. "새로운"MsgBox 메소드는 문제가되는 표준 서명 (여러 개의 선택적 매개 변수가 있음)에 맞습니다. 가장 쉬운 방법은 래퍼를 작성하는 것입니다. – Plutonix
@Plutonix : 그게 효과가 있습니다! 'Microsoft.VisualBasic.Interaction.MsgBox()'에 앞서 MessageBox()를 넣는 유일한 방법은 붙박이 전자음입니다. –