public AddFile ( string humanHint ) : IFileCollectionFile | ||
humanHint | string | |
리턴 | IFileCollectionFile |
public IFileCollectionFile AddFile(string humanHint)
{
var index = (uint)Interlocked.Increment(ref _maxFileId);
var file = new File(this, index);
Dictionary<uint, File> newFiles;
Dictionary<uint, File> oldFiles;
do
{
oldFiles = _files;
newFiles = new Dictionary<uint, File>(oldFiles) { { index, file } };
} while (Interlocked.CompareExchange(ref _files, newFiles, oldFiles) != oldFiles);
return file;
}