internal static string ToCSharpFriendlyName(Type genericTypeDefinition, bool fullyQualifiedName) { Requires.IsNotNull(genericTypeDefinition, nameof(genericTypeDefinition)); return(genericTypeDefinition.ToFriendlyName(fullyQualifiedName, CSharpFriendlyNameArgumentFormatter)); }
/// <summary> /// Gets the <see cref="Scope"/> for the current WCF request or <b>null</b> when no /// <see cref="Scope"/> is currently in scope. /// </summary> /// <example> /// The following example registers a <b>ServiceImpl</b> type as transient (a new instance will be /// returned every time) and registers an initializer for that type that will register that instance /// for disposal in the <see cref="Scope"/> in which context it is created: /// <code lang="cs"><![CDATA[ /// container.Register<IService, ServiceImpl>(); /// container.RegisterInitializer<ServiceImpl>(instance => /// { /// container.GetCurrentWcfOperationScope().RegisterForDisposal(instance); /// }); /// ]]></code> /// </example> /// <param name="container">The container.</param> /// <returns>A new <see cref="Scope"/> instance.</returns> /// <exception cref="ArgumentNullException"> /// Thrown when the <paramref name="container"/> is a null reference.</exception> /// <exception cref="InvalidOperationException">Thrown when the current <paramref name="container"/> /// has both no <b>LifetimeScope</b> registrations. /// </exception> public static Scope GetCurrentWcfOperationScope(this Container container) { Requires.IsNotNull(container, nameof(container)); return(WcfOperationLifestyle.GetCurrentScopeCore()); }