本文整理汇总了C#中IListener.Error方法的典型用法代码示例。如果您正苦于以下问题:C# IListener.Error方法的具体用法?C# IListener.Error怎么用?C# IListener.Error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IListener
的用法示例。
在下文中一共展示了IListener.Error方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PropertySet
public PropertySet(
IPropertySet other,
IListener listener,
IPolicies policies,
ICompilerMessageBuilder messageProvider,
int interfaceIndex)
{
if(ReferenceEquals(other, null))
throw new ArgumentNullException(nameof(other));
if (ReferenceEquals(listener, null))
throw new ArgumentNullException(nameof(listener));
if (ReferenceEquals(policies, null))
throw new ArgumentNullException(nameof(policies));
if (ReferenceEquals(messageProvider, null))
throw new ArgumentNullException(nameof(messageProvider));
this.InterfaceName = other.InterfaceName ?? policies.GenerateSurrogateInterfaceName(interfaceIndex);
if (ReferenceEquals(other.InterfaceName, null))
listener.Error(messageProvider.MissingInterfaceName(this.InterfaceName, interfaceIndex));
if (false == policies.IsValidInterfaceName(this.InterfaceName))
listener.Error(messageProvider.InvalidInterfaceName(this.InterfaceName, interfaceIndex));
if (ReferenceEquals(other.Properties, null))
{
listener.Error(messageProvider.EmptyPropertiesList(this.InterfaceName, interfaceIndex));
return;
}
int propertyIndex = 0;
foreach (var property in other.Properties.OfType<IBasicProperty>())
{
this.Properties.Add(
new BasicProperty(property, listener, policies, messageProvider, propertyIndex++));
}
propertyIndex = 0;
foreach (var property in other.Properties.OfType<IBlobProperty>())
{
this.Properties.Add(
new BlobProperty(property, listener, policies, messageProvider, propertyIndex++));
}
propertyIndex = 0;
foreach (var property in other.Properties.OfType<ITableValueProperty>())
{
this.Properties.Add(
new TableValueProperty(property, listener, policies, messageProvider, propertyIndex++));
}
this.m_ixPropertyByName = this.Properties.ToDictionary(
p => p.PropertyName,
StringComparer.OrdinalIgnoreCase);
}
示例2: TableValueProperty
public TableValueProperty(
ITableValueProperty other,
IListener listener,
IPolicies policies,
ICompilerMessageBuilder messageProvider,
int propertyIndex)
: base(other, listener, policies, messageProvider, propertyIndex)
{
this.DataRowInterfaceName = other.DataRowInterfaceName ?? typeof(object).FullName;
if (ReferenceEquals(other.DataRowInterfaceName, null))
listener.Error(messageProvider.MissingDataRowInterfaceName(propertyIndex));
else if(false == policies.IsValidInterfaceName(this.DataRowInterfaceName))
listener.Error(messageProvider.InvalidDataRowInterfaceName(this.DataRowInterfaceName, propertyIndex));
}
示例3: BasicProperty
public BasicProperty(
IBasicProperty other,
IListener listener,
IPolicies policies,
ICompilerMessageBuilder messageProvider,
int propertyIndex)
: base(other, listener, policies, messageProvider, propertyIndex)
{
messageProvider = messageProvider ?? new CompilerMessageBuilder();
this.PropertyTypeName = other.PropertyTypeName ?? typeof(object).FullName;
if(false == policies.IsValidBasicPropertyTypeName(other.PropertyTypeName))
listener.Error(messageProvider.InvalidBasicPropertyTypeName(this.PropertyName, other.PropertyTypeName));
}
示例4: SqlSchemaMappingCompilerInputAdapter
public SqlSchemaMappingCompilerInputAdapter(
ISqlSchemaMappingCompilerInput other,
ICompilerMessageBuilder compilerMessageBuilder,
IListener listener)
{
if(ReferenceEquals(other, null))
throw new ArgumentNullException(nameof(other));
if (ReferenceEquals(compilerMessageBuilder, null))
throw new ArgumentNullException(nameof(compilerMessageBuilder));
var interfaceNames = new HashSet<string>();
var databaseObjectNames = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
var policies = new Policies();
{// Data row contracts
var contracts = other.DataRowInterfaces.ToDenseCollection();
for (int interfaceIndex = 0; interfaceIndex < contracts.Count; ++interfaceIndex)
{
var contract = contracts[interfaceIndex];
var item = new PropertySet(contract, listener, policies, compilerMessageBuilder, interfaceIndex);
this.DataRowInterfaces.Add(item);
if (!interfaceNames.Add(item.InterfaceName))
listener.Error(compilerMessageBuilder.DuplicateInterfaceNameInDataRowInterfaces(item.InterfaceName));
this.m_ixInterfaceByInterfaceName[item.InterfaceName] = item;
this.m_ixDataRowInterfaceByInterfaceName[item.InterfaceName] = item;
}
}
{// Operation request contracts
var contracts = other.OperationRequestInterfaces.ToDenseCollection();
for (int interfaceIndex = 0; interfaceIndex < contracts.Count; ++interfaceIndex)
{
var contract = contracts[interfaceIndex];
var item = new PropertySet(contract, listener, policies, compilerMessageBuilder, interfaceIndex);
this.OperationRequestInterfaces.Add(item);
if (!interfaceNames.Add(item.InterfaceName))
listener.Error(compilerMessageBuilder.DuplicateInterfaceNameInOperationRequestInterfaces(item.InterfaceName));
this.m_ixInterfaceByInterfaceName[item.InterfaceName] = item;
this.m_ixOperationRequestInterfaceByInterfaceName[item.InterfaceName] = item;
foreach (var tableValueProperty in item.Properties.OfType<TableValueProperty>())
{
if (!this.m_ixDataRowInterfaceByInterfaceName.ContainsKey(tableValueProperty.DataRowInterfaceName))
{
listener.Error(
compilerMessageBuilder.TableValueInterfaceNotDefined(
item.InterfaceName,
tableValueProperty.DataRowInterfaceName,
tableValueProperty.PropertyName));
}
}
}
}
{// Operation response contracts
var contracts = other.OperationResponseInterfaces.ToDenseCollection();
for (int interfaceIndex = 0; interfaceIndex < contracts.Count; ++interfaceIndex)
{
var contract = contracts[interfaceIndex];
var item = new PropertySet(contract, listener, policies, compilerMessageBuilder, interfaceIndex);
this.OperationResponseInterfaces.Add(item);
if (!interfaceNames.Add(item.InterfaceName))
listener.Error(compilerMessageBuilder.DuplicateInterfaceNameInOperationResponseInterfaces(item.InterfaceName));
this.m_ixInterfaceByInterfaceName[item.InterfaceName] = item;
this.m_ixOperationResponseInterfaceByInterfaceName[item.InterfaceName] = item;
}
}
foreach (var userSelector in other.TableTypeSelectors)
{
var selector =new SqlTableTypeSelector(userSelector, listener, policies, compilerMessageBuilder);
TableTypeSelectors.Add(selector);
if (false == databaseObjectNames.Add(selector.FullName))
{
listener.Error(compilerMessageBuilder.DuplicateDatabaseObjectSelector(selector.FullName));
continue;
}
foreach (var dataRowMapping in selector.DataRowMappings)
{
if (!this.m_ixDataRowInterfaceByInterfaceName.ContainsKey(dataRowMapping.InterfaceName))
{
listener.Error(compilerMessageBuilder.TableValueInterfaceReferedByTableTypeMappingNotDefined(selector.FullName, dataRowMapping.InterfaceName));
continue;
}
var contract = this.m_ixDataRowInterfaceByInterfaceName[dataRowMapping.InterfaceName];
dataRowMapping.Interface = contract;
var propertyNames = new HashSet<string>(contract.Properties.Select(m=> m.PropertyName), StringComparer.OrdinalIgnoreCase);
foreach (var mapping in dataRowMapping.Mappings)
{
if (false == propertyNames.Contains(mapping.PropertyName))
{
listener.Error(compilerMessageBuilder.InterfacePropertyNotFound(mapping.PropertyName));
}
}
}
}
//.........这里部分代码省略.........