public override bool Enter(IObjectDescriptor value, IEmitter context) { if (value.Value != null) { var alias = aliasProvider.GetAlias(value.Value); if (alias != null && !emittedAliases.Add(alias)) { eventEmitter.Emit(new AliasEventInfo(value, alias), context); return(false); } } return(base.Enter(value, context)); }
public override bool Enter(IObjectDescriptor value, IEmitter context) { if (value.Value != null) { var alias = aliasProvider.GetAlias(value.Value); if (!alias.IsEmpty && !emittedAliases.Add(alias)) { var aliasEventInfo = new AliasEventInfo(value, alias); eventEmitter.Emit(aliasEventInfo, context); return(aliasEventInfo.NeedsExpansion); } } return(base.Enter(value, context)); }
public override bool Enter(object value, Type type) { var alias = aliasProvider.GetAlias(value); if (alias != null && !emittedAliases.Add(alias)) { eventEmitter.Emit(new AliasEventInfo(value, type) { Alias = alias }); return(false); } return(base.Enter(value, type)); }
public PersonBuilder(IAliasProvider aliasProvider) { _aliases = aliasProvider.GetAlias(); }