本文整理汇总了C#中ConfigurationSource.Overrides方法的典型用法代码示例。如果您正苦于以下问题:C# ConfigurationSource.Overrides方法的具体用法?C# ConfigurationSource.Overrides怎么用?C# ConfigurationSource.Overrides使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConfigurationSource
的用法示例。
在下文中一共展示了ConfigurationSource.Overrides方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Annotation
public virtual bool Annotation(
[NotNull] string annotation, [CanBeNull] object value, ConfigurationSource configurationSource)
{
var existingValue = Metadata[annotation];
if (existingValue != null)
{
ConfigurationSource existingConfigurationSource;
if (!_annotationSources.Value.TryGetValue(annotation, out existingConfigurationSource))
{
existingConfigurationSource = ConfigurationSource.Explicit;
}
if ((value == null || existingValue != value)
&& !configurationSource.Overrides(existingConfigurationSource))
{
return false;
}
configurationSource = configurationSource.Max(existingConfigurationSource);
}
if (value != null)
{
_annotationSources.Value[annotation] = configurationSource;
Metadata[annotation] = value;
}
else
{
_annotationSources.Value.Remove(annotation);
Metadata.RemoveAnnotation(new Annotation(annotation, "_"));
}
return true;
}
示例2: Annotation
private bool Annotation(
string annotation, object value, ConfigurationSource configurationSource, bool canOverrideSameSource)
{
var existingValue = Metadata[annotation];
if (existingValue != null)
{
ConfigurationSource existingConfigurationSource;
if (!_annotationSources.Value.TryGetValue(annotation, out existingConfigurationSource))
{
existingConfigurationSource = ConfigurationSource.Explicit;
}
if ((value == null || !existingValue.Equals(value))
&& (!configurationSource.Overrides(existingConfigurationSource)
|| configurationSource == existingConfigurationSource && !canOverrideSameSource))
{
return false;
}
configurationSource = configurationSource.Max(existingConfigurationSource);
}
if (value != null)
{
_annotationSources.Value[annotation] = configurationSource;
Metadata[annotation] = value;
}
else
{
_annotationSources.Value.Remove(annotation);
Metadata.RemoveAnnotation(new Annotation(annotation, "_"));
}
return true;
}
示例3: HasAnnotation
private bool HasAnnotation(
string name, object value, ConfigurationSource configurationSource, bool canOverrideSameSource)
{
var existingAnnotation = Metadata.FindAnnotation(name);
if (existingAnnotation != null)
{
if (existingAnnotation.Value.Equals(value))
{
existingAnnotation.UpdateConfigurationSource(configurationSource);
return true;
}
var existingConfigurationSource = existingAnnotation.GetConfigurationSource();
if (!configurationSource.Overrides(existingConfigurationSource)
|| (configurationSource == existingConfigurationSource && !canOverrideSameSource))
{
return false;
}
if (value == null)
{
var removed = Metadata.RemoveAnnotation(name);
Debug.Assert(removed == existingAnnotation);
}
else
{
Metadata.SetAnnotation(name, value, configurationSource);
}
return true;
}
if (value != null)
{
Metadata.AddAnnotation(name, value, configurationSource);
}
return true;
}
示例4: CanSetAnnotationValue
private bool CanSetAnnotationValue(
ConventionalAnnotation annotation, object value, ConfigurationSource configurationSource, bool canOverrideSameSource)
{
if (annotation.Value.Equals(value))
{
return true;
}
var existingConfigurationSource = annotation.GetConfigurationSource();
if (!configurationSource.Overrides(existingConfigurationSource)
|| ((configurationSource == existingConfigurationSource) && !canOverrideSameSource))
{
return false;
}
return true;
}