exiter28
Erfahrenes Mitglied
Hi,
ich hätte mal wieder ein kleines Rätsel. Folgende Meldung bekomme ich, wenn ich den folgenden Code in eine public Classe setze:
fehlermeldung:
Fehler 1 Inkonsistenter Zugriff: Rückgabetyp "System.Collections.Generic.List<Key_Manager.DataStreamInfo>" ist weniger zugreifbar als Methode "Key_Manager.ShowADS.GetFileStreams(string)" C:\Users\Scharl\Documents\Visual Studio 2010\Projects\Project DLL\ShowADS\ShowADS\ShowADS.cs 52 37 ShowADS
Kann mir einer von Euch erklären, was hier nicht passt?
Danke!
ich hätte mal wieder ein kleines Rätsel. Folgende Meldung bekomme ich, wenn ich den folgenden Code in eine public Classe setze:
fehlermeldung:
Fehler 1 Inkonsistenter Zugriff: Rückgabetyp "System.Collections.Generic.List<Key_Manager.DataStreamInfo>" ist weniger zugreifbar als Methode "Key_Manager.ShowADS.GetFileStreams(string)" C:\Users\Scharl\Documents\Visual Studio 2010\Projects\Project DLL\ShowADS\ShowADS\ShowADS.cs 52 37 ShowADS
Code:
public Class ADS
{
public List<DataStreamInfo> GetFileStreams(string fileName)
{
List<DataStreamInfo> streams = new List<DataStreamInfo>();
FileStream fileStream = new FileStream(fileName, FileMode.Open);
try
{
WIN32_STREAM_ID streamId = new WIN32_STREAM_ID();
int streamHeaderSize = Marshal.SizeOf(streamId);
int context = 0;
bool hasMore = true;
while (hasMore)
{
int bytesRead = 0;
hasMore = BackupRead(fileStream.SafeFileHandle, ref streamId, streamHeaderSize, ref bytesRead, false, false, ref context);
if (hasMore && bytesRead == streamHeaderSize)
{
if (streamId.streamNameSize > 0)
{
bytesRead = 0;
IntPtr pName = Marshal.AllocHGlobal(streamId.streamNameSize);
try
{
BackupRead(fileStream.SafeFileHandle, pName, streamId.streamNameSize, ref bytesRead, false, false, ref context);
char[] bName = new char[streamId.streamNameSize];
Marshal.Copy(pName, bName, 0, streamId.streamNameSize);
string sName = new string(bName);
int index = sName.IndexOf(':', 1);
if (index > -1) sName = sName.Substring(1, index - 1);
DataStreamInfo streamInfo = new DataStreamInfo();
streamInfo.StreamName = sName;
streamInfo.StreamSize = streamId.size.QuadPart();
switch (streamId.streamId)
{
case (int)StreamType.BACKUP_ALTERNATE_DATA:
streamInfo.StreamType = "Alternative Data Stream";
break;
case (int)StreamType.BACKUP_DATA:
streamInfo.StreamType = "Standard Data";
break;
case (int)StreamType.BACKUP_EA_DATA:
streamInfo.StreamType = "Extended attribute Data";
break;
case (int)StreamType.BACKUP_LINK:
streamInfo.StreamType = "Hard link information";
break;
case (int)StreamType.BACKUP_OBJECT_ID:
streamInfo.StreamType = "Object identifiers";
break;
case (int)StreamType.BACKUP_PROPERTY_DATA:
streamInfo.StreamType = "Property data";
break;
case (int)StreamType.BACKUP_REPARSE_DATA:
streamInfo.StreamType = "Reparse points";
break;
case (int)StreamType.BACKUP_SECURITY_DATA:
streamInfo.StreamType = "Security descriptor data";
break;
case (int)StreamType.BACKUP_SPARSE_BLOCK:
streamInfo.StreamType = "Sparse file";
break;
}
streams.Add(streamInfo);
}
finally
{
Marshal.FreeHGlobal(pName);
}
}
int low = 0;
int high = 0;
BackupSeek(fileStream.SafeFileHandle, streamId.size.Low, streamId.size.High, ref low, ref high, ref context);
}
else
{
break;
}
}
}
catch
{
return null;
}
finally
{
fileStream.Close();
}
return streams;
}
}
}
Kann mir einer von Euch erklären, was hier nicht passt?
Danke!