Combining a DirectoryInfo and a FileInfo path
If absoluteDir and relativeFile exist for the sole purpose of being used to create absoluteFile, use should probably stick with plain strings for them and leaving only absoluteFile as a FileInfo.
var absoluteDir = @"c:\dir";
var relativeFile = @"subdir\file";
var absoluteFile = new FileInfo(Path.Combine(absoluteDir, relativeFile));
Edit: If otherwise you really need them to be typed, then you should use Path.Combine applied to the OriginalPath of each of them, which you can access such as in:
var absoluteDir = new DirectoryInfo(@"c:\dir");
var relativeFile = new FileInfo(@"subdir\file");
var absoluteFile = new FileInfo(Path.Combine(absoluteDir.ToString(), relativeFile.ToString()));
The OriginalPath property can not be access directly because of the "protected" statuts.
You can just use the FullPath
Property on FileInfo
class.
FileInfo.FullPath Will get you the full qualified path, whereas
FileInfo.OriginalPath will give you the specified relative path.
If you just wish to combine to different pathes, e.g. the file you want to add the relative path to anoter path, then you should use Path.Combine()
for this, as stated already.