Solved

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

Posted on 2009-05-14
3
189 Views
Last Modified: 2012-05-07
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
Comment
Question by:Abdu_Allah
  • 2
3 Comments
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 24389378
A static member cannot access an instance member without creating an instance of that class. Have you considered making "uploadcount" static?
0
 
LVL 3

Author Comment

by:Abdu_Allah
ID: 24393544
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
 
LVL 75

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
ID: 24394507
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses the ASP.NET AJAX ModalPopupExtender control. In this article we will show how to use the ModalPopupExtender control, how to display/show/call the ASP.NET AJAX ModalPopupExtender control from javascript, how to show/display/cal…
In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now