Việc sử dụng biến số Shared
trong VB.NET là gì?Việc sử dụng biến chia sẻ trong VB.NET là gì?
Trả lời
Nó giống như static
trong C# và hầu hết các ngôn ngữ khác. Nó có nghĩa là mọi đối tượng trong lớp đều sử dụng cùng một bản sao của biến, thuộc tính hoặc phương thức. Khi được sử dụng với một phương thức vì nó là tĩnh, bạn không cần một cá thể đối tượng.
MyClass.DoSomething()
hơn
Dim oObject as New MyClass()
oObject.DoSomething()
Đơn giản chỉ cần bất cứ khi nào bạn muốn có trường hợp duy nhất của biến cho toàn bộ ứng dụng, chia sẻ giữa các đối tượng của lớp học của bạn. Thay vì 1 lần cho mỗi đối tượng.
Từ khóa "Được chia sẻ" trong VB.NET tương đương với từ khóa "tĩnh" trong C#.
Trong VB.NET, từ khóa được chia sẻ có thể được áp dụng cho các câu lệnh Dim, Event, Function, Operator, Property và Sub trong một lớp; tuy nhiên, trong C#, từ khóa static
có thể được áp dụng cho cả hai câu lệnh này trong một lớp bình thường, và cũng ở cấp lớp để làm cho toàn bộ lớp tĩnh.
Phương thức "Được chia sẻ" hoặc "tĩnh" hoạt động theo "loại" (nghĩa là, lớp) thay vì hành động theo dạng thể hiện của loại/lớp học. Vì Shared
các phương thức (hoặc biến) hành động theo kiểu chứ không phải là một cá thể, chỉ có thể là một "bản sao" của biến hoặc phương thức trái ngược với nhiều bản sao (một cho mỗi cá thể) trong trường hợp không được chia sẻ (ví dụ: , ví dụ) các phương thức hoặc biến.
Ví dụ: Nếu bạn có một lớp, hãy gọi nó là MyClass với một phương thức không được chia sẻ duy nhất có tên là MyMethod.
Public Class MyClass
Public Sub MyMethod()
// Do something in the method
End Sub
End Class
Để gọi phương thức đó, bạn cần một phiên bản của lớp để gọi phương thức. Một cái gì đó như:
Dim myvar as MyClass = New MyClass()
myvar.MyMethod()
Nếu phương pháp này sau đó đã được chuyển thể thành một phương pháp "chia sẻ" (bằng cách thêm "chia sẻ" vòng loại vào định nghĩa phương pháp, bạn không còn cần một thể hiện của lớp để gọi phương thức
.Public Class MyClass
Public Shared Sub MyMethod()
// Do something in the method
End Sub
End Class
Và sau đó:..
MyClass.MyMethod()
Bạn cũng có thể xem các ví dụ về điều này trong .NET framework Ví dụ, "chuỗi" loại có nhiều phương pháp tĩnh/chia sẻ Ie
// Using an instance method (i.e. Non-shared) of the string type/class.
Dim s as String = "hello"
s.Replace("h", "j")
// Using a static/shared method of the string type/class.
s = String.Concat(s, " there!");
Dưới đây là một bài viết tốt mà giải thích nó hơn nữa:
Tương đương gần đúng của một lớp tĩnh (Shared) trong VB là một Module. – Antony
- 1. Việc sử dụng "biến thành" trong qt là gì?
- 2. ASP.Net: Sử dụng System.Web.UI.Control.ResolveUrl() trong một hàm chia sẻ/tĩnh
- 3. Việc sử dụng biến số thực tế là gì?
- 4. Chia sẻ biến trong phương thức tĩnh
- 5. Cách pythonic để chia sẻ các tệp phổ biến trong nhiều dự án là gì?
- 6. Bộ lọc ý định sẽ chỉ hiển thị ứng dụng trong menu chia sẻ khi chia sẻ url là gì?
- 7. Việc sử dụng window.external là gì?
- 8. Sự khác nhau giữa việc chia sẻ AsyncWrapper và BufferingWrapper trong NLog v2 là gì?
- 9. Việc sử dụng "??" là gì?
- 10. Chia 'thập phân' trong VB.NET
- 11. Cách chia sẻ biến trong thư viện đối tượng được chia sẻ
- 12. sem_init (...): Thông số được chia sẻ cho là gì?
- 13. Biến toàn cầu trong thư viện/dll được chia sẻ, được chia sẻ qua quá trình
- 14. Chia sẻ các biến giữa các hàm trong PHP mà không sử dụng các globals
- 15. Chia sẻ doanh thu của Google cho mua hàng trong ứng dụng Android là gì?
- 16. Chia sẻ sai và biến nguyên tử
- 17. Sử dụng tập dữ liệu được chia sẻ trong Subreport
- 18. NoMonomorphismRestriction giúp duy trì việc chia sẻ?
- 19. Chia sẻ biến giữa các quá trình
- 20. Maven: sử dụng các plugin chung/chia sẻ khi làm việc với nhiều cấu hình
- 21. Biến chia sẻ trong đa xử lý của python
- 22. Việc sử dụng Bộ hiển thị iCloud là gì?
- 23. Việc sử dụng cú pháp: = cú pháp là gì?
- 24. Việc sử dụng Deployment.Current.Dispatcher.BeginInvoke (() => {...}) là gì?
- 25. Chia sẻ URL trong ứng dụng web
- 26. Việc sử dụng typedef là gì?
- 27. Việc sử dụng LOCAL_MODULE_TAGS là gì?
- 28. Việc sử dụng udevadm là gì?
- 29. Việc sử dụng plist là gì?
- 30. Việc sử dụng Indexers là gì?
Người hỏi specificaly hỏi về biến chia sẻ, chứ không phải phương pháp chia sẻ. –
Thay thế cục bộ DoSomething() bằng Thứ gì đó để làm cho bài đăng áp dụng cho các biến thay vì phương pháp. – OregonGhost