本文整理汇总了C#中ModelNode.AddModuleFile方法的典型用法代码示例。如果您正苦于以下问题:C# ModelNode.AddModuleFile方法的具体用法?C# ModelNode.AddModuleFile怎么用?C# ModelNode.AddModuleFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelNode
的用法示例。
在下文中一共展示了ModelNode.AddModuleFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadModuleFilesFromLocalFolder
/// <summary>
/// Reads the giving directory and populates the node with folders/files structure
/// </summary>
/// <param name="hostNode"></param>
/// <param name="folderPath"></param>
public static void LoadModuleFilesFromLocalFolder(ModelNode hostNode, string folderPath)
{
var files = Directory.GetFiles(folderPath);
var folders = Directory.GetDirectories(folderPath);
foreach (var file in files)
{
hostNode.AddModuleFile(new ModuleFileDefinition
{
Content = File.ReadAllBytes(file),
FileName = Path.GetFileName(file),
Overwrite = true
});
}
foreach (var subFolder in folders)
{
var subFolderPath = subFolder;
var folderDef = new FolderDefinition
{
Name = Path.GetFileName(subFolderPath)
};
hostNode.AddFolder(folderDef, folderNode => LoadModuleFilesFromLocalFolder(folderNode, subFolderPath));
}
}
示例2: ProcessDirectory
protected override void ProcessDirectory(string path, ModelNode parent)
{
var files = Directory.EnumerateFiles(path);
foreach (var fileName in files.Where(fileName => !ProvisionCache.HasSame(fileName)))
{
parent.AddModuleFile(new ModuleFileDefinition
{
FileName = Path.GetFileName(fileName),
Content = File.ReadAllBytes(fileName)
});
ProvisionCache.AddOrUpdate(fileName);
}
foreach (string name in Directory.EnumerateDirectories(path))
{
string folderName = name;
parent.AddFolder(
new FolderDefinition { Name = name.Remove(0, name.LastIndexOf('\\') + 1) },
folder => ProcessDirectory(folderName, folder));
}
}