ファイルの所有者情報を取得したいのですが、次の行に問題があります。
const string fileOwner = Delimon.Win32.IO.File.GetAccessControl(fi.Name).GetOwner(typeof(System.Security.Principal.NTAccount)).ToString();
具体的には、好きではありませんfi.name
。私のエラーは
非静的フィールド、メソッド、またはプロパティ 'Delimon.Win32.IO.File.GetAccessControl(string)' にはオブジェクト参照が必要です
これは、それが置かれているコードの大きなチャンクです。
// check if file exists. if so dont overwrite...
if(Delimon.Win32.IO.File.Exists(targetPath+fi.Name)) {
// Console.WriteLine(fileName + " already exists, nothing written");
}
else {
// Console.WriteLine(fileName + " is new so written to dir");
string fileOwner=Delimon.Win32.IO.File.GetAccessControl(fi.Name).GetOwner(typeof(System.Security.Principal.NTAccount)).ToString();
Delimon.Win32.IO.File.Copy(fileName, destFile, true);
// convert extension to number
switch(fileExt) {
case ".doc":
fileType=1;
break;
case ".xls":
fileType=2;
break;
case ".mdb":
fileType=3;
break;
default:
fileType=1;
break;
}
// I want tot use fileOwner here in an SQL statement
}
fi.Name
ファイル名のみを保持することに注意してください。ファイル名を含む完全な絶対パスfileName
を保持するという変数もあります。これにより、同じ問題が発生します。