本文整理汇总了C#中IDocument.String方法的典型用法代码示例。如果您正苦于以下问题:C# IDocument.String方法的具体用法?C# IDocument.String怎么用?C# IDocument.String使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDocument
的用法示例。
在下文中一共展示了IDocument.String方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRelativePath
private string GetRelativePath(IDocument document)
{
string relativePath = "/";
if (document.ContainsKey("RelativeFilePath"))
{
relativePath += document.String("RelativeFilePath");
}
return relativePath;
}
示例2: GetPath
protected string GetPath(IDocument input, IExecutionContext context)
{
string path = null;
if (_useWriteMetadata)
{
// WritePath
path = input.String(MetadataKeys.WritePath);
if (!string.IsNullOrWhiteSpace(path))
{
path = PathHelper.NormalizePath(path);
}
// WriteFileName
if (string.IsNullOrWhiteSpace(path) && input.ContainsKey(MetadataKeys.WriteFileName)
&& input.ContainsKey(MetadataKeys.RelativeFileDir))
{
path = Path.Combine(input.String(MetadataKeys.RelativeFileDir),
PathHelper.NormalizePath(input.String(MetadataKeys.WriteFileName)));
}
// WriteExtension
if (string.IsNullOrWhiteSpace(path) && input.ContainsKey(MetadataKeys.WriteExtension)
&& input.ContainsKey(MetadataKeys.RelativeFilePath))
{
path = Path.ChangeExtension(input.String(MetadataKeys.RelativeFilePath),
input.String(MetadataKeys.WriteExtension));
}
}
// Func
if (string.IsNullOrWhiteSpace(path))
{
path = _path.Invoke<string>(input, context);
}
if (!string.IsNullOrWhiteSpace(path))
{
path = Path.GetFullPath(Path.Combine(context.OutputFolder, path));
if (!string.IsNullOrWhiteSpace(path))
{
return path;
}
}
return null;
}
示例3: GetPath
protected string GetPath(IDocument input, IExecutionContext context)
{
string path = null;
if (_useWriteMetadata)
{
string metadataKey = null;
// WritePath
path = input.String(Keys.WritePath);
if (!string.IsNullOrWhiteSpace(path))
{
metadataKey = Keys.WritePath;
path = PathHelper.NormalizePath(path);
}
// WriteFileName
if (string.IsNullOrWhiteSpace(path) && input.ContainsKey(Keys.WriteFileName)
&& input.ContainsKey(Keys.RelativeFileDir))
{
metadataKey = Keys.WriteFileName;
path = Path.Combine(input.String(Keys.RelativeFileDir),
PathHelper.NormalizePath(input.String(Keys.WriteFileName)));
}
// WriteExtension
if (string.IsNullOrWhiteSpace(path) && input.ContainsKey(Keys.WriteExtension)
&& input.ContainsKey(Keys.RelativeFilePath))
{
metadataKey = Keys.WriteExtension;
path = Path.ChangeExtension(input.String(Keys.RelativeFilePath),
input.String(Keys.WriteExtension));
}
// Warn if needed
if (metadataKey != null && _warnOnWriteMetadata)
{
context.Trace.Warning("An extension or delegate was specified for the WriteFiles module, but the metadata key {0} took precedence for the document with source {1}."
+ " Call UseWriteMetadata(false) to prevent the special write metadata keys from overriding WriteFiles constructor values.",
metadataKey, input.Source);
}
}
// Func
if (string.IsNullOrWhiteSpace(path))
{
path = _path.Invoke<string>(input, context);
}
if (!string.IsNullOrWhiteSpace(path))
{
path = Path.GetFullPath(Path.Combine(context.OutputFolder, path));
if (!string.IsNullOrWhiteSpace(path))
{
return path;
}
}
return null;
}
示例4: GetOutputPath
protected FilePath GetOutputPath(IDocument input, IExecutionContext context)
{
FilePath path = null;
if (_useWriteMetadata)
{
string metadataKey = null;
// WritePath
path = input.FilePath(Keys.WritePath);
if (path != null)
{
metadataKey = Keys.WritePath;
}
// WriteFileName
DirectoryPath relativeFileDir = input.DirectoryPath(Keys.RelativeFileDir);
FilePath writeFileName = input.FilePath(Keys.WriteFileName);
if (path == null
&& relativeFileDir != null
&& writeFileName != null)
{
metadataKey = Keys.WriteFileName;
path = relativeFileDir.CombineFile(writeFileName);
}
// WriteExtension
FilePath relativeFilePath = input.FilePath(Keys.RelativeFilePath);
string writeExtension = input.String(Keys.WriteExtension);
if (path == null
&& relativeFilePath != null
&& !string.IsNullOrWhiteSpace(writeExtension))
{
metadataKey = Keys.WriteExtension;
path = relativeFilePath.ChangeExtension(writeExtension);
}
// Warn if needed
if (metadataKey != null && _warnOnWriteMetadata)
{
Trace.Warning($"An extension or delegate was specified for the WriteFiles module, but the metadata key {metadataKey} took precedence for the document with source {input.SourceString()}"
+ $" resulting in an output path of {path}. Call UseWriteMetadata(false) to prevent the special write metadata keys from overriding WriteFiles constructor values.");
}
}
// Fallback to the default behavior function
return path ?? _path.Invoke<FilePath>(input, context);
}