• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 205
  • Last Modified:

How to refence a class's member in a shared(static in C#) function

Hi, To better understand my problem please consider the code below. I want to use the member upoadcount in the shared sub DoSomething(..)
Partial Public Class Main
    Inherits System.Web.UI.Page
    Public uploadcount As Integer = 0
 
 
    <WebMethod()> _
    Public Shared Sub DoSomething(ByVal s As String)
        If HttpContext.Current.Session("View") Is Nothing Then
            HttpContext.Current.Session("View") = 1 ' 1: Details List
 
        End If
 
     End sub
 
End Class

Open in new window

0
Abdu_Allah
Asked:
Abdu_Allah
  • 2
1 Solution
 
käµfm³d 👽Commented:
A static member cannot access an instance member without creating an instance of that class. Have you considered making "uploadcount" static?
0
 
Abdu_AllahAuthor Commented:
I know that and this is why I'm asking this question, I want to know how to do that in the code that I provided.
0
 
käµfm³d 👽Commented:
Well it would be something like below. But I don't think you are going to get the results you are expecting, which is why I suggested marking your private variable as "Shared".
<WebMethod()> _
Public Shared Sub DoSomething(ByVal s As String)
    Dim m as New Main()
 
    m.uploadcount += 1
 
    If HttpContext.Current.Session("View") Is Nothing Then
         HttpContext.Current.Session("View") = 1 ' 1: Details List
 
    End If
End Sub
 
////////////////////////////////////////////////////////////////
//  My suggestion
////////////////////////////////////////////////////////////////
Partial Public Class Main
    Inherits System.Web.UI.Page
    Public Shared uploadcount As Integer = 0
 
 
    <WebMethod()> _
    Public Shared Sub DoSomething(ByVal s As String)
    	Main.uploadcount += 1
    
        If HttpContext.Current.Session("View") Is Nothing Then
            HttpContext.Current.Session("View") = 1 ' 1: Details List
 
        End If
 
     End sub
 
End Class

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now