VB.NET에서 A 클래스를 정적으로 표시
최근 질의응답에서 방금 언급한 것처럼 정적 클래스에서 상속할 수 없습니다.VB.NET 내부의 정적 클래스와 함께 규칙을 적용하는 방법은 무엇입니까?프레임워크가 C#과 VB 간에 호환되기 때문에 클래스를 정적으로 표시하는 방법이 있다는 것은 말이 되지만 방법이 없는 것 같습니다.
모듈 == 정적 클래스
상속할 수 없는 클래스만 원하는 경우NotInheritable
클래스; 그러나 정적/공유는 아닙니다.모든 메소드, 속성 및 구성원을 다음과 같이 표시할 수 있습니다.Shared
그러나 컴파일러에 의해 시행되지 않기 때문에 C#의 정적 클래스와 완전히 동일한 것은 아닙니다.
VB를 정말 원한다면요.C# 정적 클래스에 해당하는 Net, 사용Module
상속할 수 없으며 모든 구성원, 속성 및 메서드가 정적/공유 상태입니다.
거의 다 왔습니다.당신은 또한 인스턴스화를 방지해야 합니다.
NotInheritable Class MyStaticClass
''' <summary>
''' Prevent instantiation.
''' </summary>
Private Sub New()
End Sub
Public Shared Function MyMethod() As String
End Function
End Class
- 공유는 정적 클래스의 메서드와 같습니다.
- Not Inheritable은 봉인된 것과 같습니다.
- 개인 새로 만들기는 정적 클래스를 인스턴스화할 수 없는 것과 같습니다.
상속할 수 없는 클래스만 생성하려는 경우 C#에서 Sealed를 사용하고 VB를 사용할 수 있습니다.Net use 상속할 수 없습니다.
정적에 해당하는 VB.Net이 공유됩니다.
정적 클래스는 vb.net 에서 만들 수 있습니다.해결책은
Friend NotInheritable Class DB
Public Shared AGE As Integer = 20
End Class
AGE 변수는 공개 정적이므로 다음과 같이 다른 코드에서 사용할 수 있습니다.
Dim myage As Integer = DB.AGE
친구 = 공용, 상속할 수 없음 = 정적
CLR 관점에서 C# 정적 클래스는 "밀봉" 및 "추상" 클래스입니다.인스턴스는 추상적이므로 인스턴스를 만들 수 없으며 인스턴스가 봉인되어 있으므로 인스턴스에서 상속할 수 없습니다.나머지는 단지 컴파일러 마법일 뿐입니다.
언급URL : https://stackoverflow.com/questions/135841/marking-a-class-static-in-vb-net
'programing' 카테고리의 다른 글
Git: "당신이 누구인지 말해주세요" 오류 (0) | 2023.05.29 |
---|---|
Gitdiff 도구 및 병합 도구로 Meld 설정 및 사용 (0) | 2023.05.29 |
특정 포트를 확인하기 위한 명령줄 (0) | 2023.05.29 |
컴파일러/J에 제공할 수 있는 최적화 힌트는 무엇입니까?IT? (0) | 2023.05.29 |
Git 저장소를 특정 커밋으로 전환하는 방법 (0) | 2023.05.29 |