<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FClass%2FShared</id>
		<title>VB.Net/Class/Shared - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FClass%2FShared"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Class/Shared&amp;action=history"/>
		<updated>2026-04-05T12:27:24Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Class/Shared&amp;diff=366&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Class/Shared&amp;diff=366&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/Class/Shared&amp;diff=367&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/Class/Shared&amp;diff=367&amp;oldid=prev"/>
				<updated>2010-05-26T12:42:44Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Class Shared Variable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
      Console.WriteLine(&amp;quot;Students before instantiation: &amp;quot; &amp;amp; Student.Count)&lt;br /&gt;
      Dim student1 As Student = New Student(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;)&lt;br /&gt;
      Dim student2 As Student = New Student(&amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;)&lt;br /&gt;
      &amp;quot; output of student2 after instantiation&lt;br /&gt;
      Console.WriteLine(&amp;quot;Students after instantiation: &amp;quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
         &amp;quot;via Student.Count: &amp;quot; &amp;amp; Student.Count)&lt;br /&gt;
      &amp;quot; display name of first and second student&lt;br /&gt;
      Console.WriteLine(vbCrLf &amp;amp; &amp;quot;Students 1: &amp;quot; &amp;amp; _&lt;br /&gt;
         student1.FirstName &amp;amp; &amp;quot; &amp;quot; &amp;amp; student1.LastName &amp;amp; _&lt;br /&gt;
         vbCrLf &amp;amp; &amp;quot;Student 2: &amp;quot; &amp;amp; student2.FirstName &amp;amp; &amp;quot; &amp;quot; &amp;amp; _&lt;br /&gt;
         student2.LastName)&lt;br /&gt;
      &amp;quot; mark student1 and student2 for garbage collection&lt;br /&gt;
      student1 = Nothing&lt;br /&gt;
      student2 = Nothing&lt;br /&gt;
      System.GC.Collect() &amp;quot; request garbage collection&lt;br /&gt;
      &lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&amp;quot; Class Student uses Shared variable.&lt;br /&gt;
Class Student&lt;br /&gt;
   Inherits Object&lt;br /&gt;
   Private mFirstName As String&lt;br /&gt;
   Private mLastName As String&lt;br /&gt;
   &amp;quot; number of objects in memory&lt;br /&gt;
   Private Shared mCount As Integer&lt;br /&gt;
   &amp;quot; Student constructor&lt;br /&gt;
   Public Sub New(ByVal firstNameValue As String, _&lt;br /&gt;
      ByVal lastNameValue As String)&lt;br /&gt;
      mFirstName = firstNameValue&lt;br /&gt;
      mLastName = lastNameValue&lt;br /&gt;
      mCount += 1 &amp;quot; increment shared count of students&lt;br /&gt;
      Console.WriteLine _&lt;br /&gt;
         (&amp;quot;Student object constructor: &amp;quot; &amp;amp; mFirstName &amp;amp; _&lt;br /&gt;
         &amp;quot; &amp;quot; &amp;amp; mLastName)&lt;br /&gt;
   End Sub &amp;quot; New&lt;br /&gt;
   &amp;quot; finalizer method decrements Shared count of students&lt;br /&gt;
   Protected Overrides Sub Finalize()&lt;br /&gt;
      mCount -= 1 &amp;quot; decrement mCount, resulting in one fewer object&lt;br /&gt;
      Console.WriteLine _&lt;br /&gt;
         (&amp;quot;Student object finalizer: &amp;quot; &amp;amp; mFirstName &amp;amp; _&lt;br /&gt;
         &amp;quot; &amp;quot; &amp;amp; mLastName &amp;amp; &amp;quot;; count = &amp;quot; &amp;amp; mCount)&lt;br /&gt;
   End Sub &amp;quot; Finalize&lt;br /&gt;
   &amp;quot; return first name&lt;br /&gt;
   Public ReadOnly Property FirstName() As String&lt;br /&gt;
      Get&lt;br /&gt;
         Return mFirstName&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property &amp;quot; FirstName&lt;br /&gt;
   &amp;quot; return last name&lt;br /&gt;
   Public ReadOnly Property LastName() As String&lt;br /&gt;
      Get&lt;br /&gt;
         Return mLastName&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property &amp;quot; LastName&lt;br /&gt;
   &amp;quot; property Count&lt;br /&gt;
   Public Shared ReadOnly Property Count() As Integer&lt;br /&gt;
      Get&lt;br /&gt;
         Return mCount&lt;br /&gt;
      End Get&lt;br /&gt;
   End Property &amp;quot; Count&lt;br /&gt;
End Class &amp;quot; Student&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Class with all shared Member variables==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Console.WriteLine(&amp;quot;Today: &amp;quot; &amp;amp; Today.TodayDate)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Day: &amp;quot; &amp;amp; Today.Day)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Month: &amp;quot; &amp;amp; Today.Month)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Year: &amp;quot; &amp;amp; Today.Year)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Day of week: &amp;quot; &amp;amp; Today.NumericDayOfWeek)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Day of week: &amp;quot; &amp;amp; Today.StringDayOfWeek)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
    Class Today&lt;br /&gt;
        Public Shared TodayDate As DateTime = Now()&lt;br /&gt;
        Public Shared Day As Integer = Now.Day()&lt;br /&gt;
        Public Shared Month As Integer = Now.Month()&lt;br /&gt;
        Public Shared Year As Integer = Now.Year()&lt;br /&gt;
        Public Shared NumericDayOfWeek As Integer = Now.DayOfWeek()&lt;br /&gt;
        Public Shared StringDayOfWeek As String = Now.DayOfWeek.ToString()&lt;br /&gt;
    End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Shared Method Demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
public class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
        Dim c1 As New C()&lt;br /&gt;
        Dim c2 As New C()&lt;br /&gt;
        c2.Test()&lt;br /&gt;
        c.SharedTest()&lt;br /&gt;
   End Sub&lt;br /&gt;
End Class&lt;br /&gt;
Class C&lt;br /&gt;
    Public Shared Sub SharedTest()&lt;br /&gt;
        Static x As Integer&lt;br /&gt;
        x = x + 1&lt;br /&gt;
        console.WriteLine(x)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Sub Test()&lt;br /&gt;
        Static x As Integer&lt;br /&gt;
        x = x + 1&lt;br /&gt;
        console.WriteLine(x)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==User Shared variable to count instance number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim p As New Professor()&lt;br /&gt;
        Console.WriteLine(&amp;quot;count {0}&amp;quot;, p.Count)&lt;br /&gt;
        Dim pp As New Professor()&lt;br /&gt;
        Console.WriteLine(&amp;quot;count {0}&amp;quot;, pp.Count)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
    Class Professor&lt;br /&gt;
        Public Shared Count As Integer = 0&lt;br /&gt;
        Public Name As String&lt;br /&gt;
        Private Age As Integer&lt;br /&gt;
        Public OfficeNumber As String&lt;br /&gt;
        Private HomePhone As String&lt;br /&gt;
        Public Sub New()&lt;br /&gt;
            Count = Count + 1&lt;br /&gt;
        End Sub&lt;br /&gt;
        &lt;br /&gt;
    End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use Shared method to construct Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Drawing.Printing&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
       Dim newUser As User&lt;br /&gt;
       newUser = User.CreateUser(&amp;quot;Joe&amp;quot;, &amp;quot;password15&amp;quot;)&lt;br /&gt;
       Console.WriteLine(newUser.Username)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Public Class User&lt;br /&gt;
    Public Username As String&lt;br /&gt;
    Private password As String&lt;br /&gt;
&lt;br /&gt;
    Public Shared Function CreateUser(ByVal username As String, _&lt;br /&gt;
                     ByVal password As String) As User&lt;br /&gt;
        Dim user As New User()&lt;br /&gt;
        user.Username = username&lt;br /&gt;
        user.Password = password&lt;br /&gt;
        Return user&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>