Warning Text Files Access

A

AnDrE

Hello

I'm developing a application in VB .NET 2005 and I need to access text
files.
I'm using the System.IO.File library and I have this code:

Dim oFile As System.IO.File
Dim oRead As System.IO.StreamReader
oRead = oFile.OpenText(FullPath & "\file.conf")

In the second line I have a constant warning that I can't resolve.
The warning is:
"Access of shared member, constant member, enum member or nested type
through an instance; qualifying expression will not be evaluated."

I don't have idea why this heapen!!
Anyone knows something???

Thank you and regards,
Andre Figueiredo
 
J

james

AnDrE said:
Hello

I'm developing a application in VB .NET 2005 and I need to access text
files.
I'm using the System.IO.File library and I have this code:

Dim oFile As System.IO.File
Dim oRead As System.IO.StreamReader
oRead = oFile.OpenText(FullPath & "\file.conf")

In the second line I have a constant warning that I can't resolve.
The warning is:
"Access of shared member, constant member, enum member or nested type
through an instance; qualifying expression will not be evaluated."

I don't have idea why this heapen!!
Anyone knows something???

Thank you and regards,
Andre Figueiredo

Change : Dim oFile As System.IO.File to: Dim oFile As New System.IO.File
: Dim oRead as System.IO.StreamReader to: Dim oRead as New
System.IO.StreamReader
That should get you going.
james
 
J

Jason

if your just reading in a text file you can use this (saves a lot of typing)

dim MyFile as string = my.Computer.FileSystem.ReadAllText(PathToMyFile)
 
T

Tom Shelton

AnDrE said:
Hello

I'm developing a application in VB .NET 2005 and I need to access text
files.
I'm using the System.IO.File library and I have this code:

Dim oFile As System.IO.File
Dim oRead As System.IO.StreamReader
oRead = oFile.OpenText(FullPath & "\file.conf")

In the second line I have a constant warning that I can't resolve.
The warning is:
"Access of shared member, constant member, enum member or nested type
through an instance; qualifying expression will not be evaluated."

I don't have idea why this heapen!!
Anyone knows something???

Thank you and regards,
Andre Figueiredo

OpenText is a shared member of the File class. You don't need to have
an instance of it...


Dim oRead As System.IO.StreamReader = _
System.File.OpenText (Path.Combine (FullPath, "file.conf"))

You should do most of your path operations using the Path class in
System.IO. It will make sure that the names are combined properly
(with the appropriat separator char).

Just to make what's happening more clear... You can not create an
instance of a File class. It's constructor is private and it only has
Shared members. You are setting the reference of the shared instance
to an instance variable and then accessing a function. This is
unfortunately legal in VB. This code wouldn't even compile in C#, it
is considered bad practice.
 
A

AnDrE

Hi!

Thank You Tom Shelton. I understand your post and this change in my
code does disapear the warning!
I don't know the existing of Path class and I'm using it now, that seem
to me better that the another method that i used...

Thanks James too for yours tips!
 
G

gadya

I have the same sort of problem but your answer doesn't seem to cover it?
this code is OK in Vstudio.net 2003
"Cursor.Current = Cursors.Default"
generates: Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top