Beispiel #1
0
 public void Dispose()
 {
     DisposableHelpers.DisposeAndSetNull(ref this.Compositor);
     DisposableHelpers.DisposeAndSetNull(ref this.m_dWriteFactory);
     DisposableHelpers.DisposeAndSetNull(ref this.m_d2D);
     DisposableHelpers.DisposeAndSetNull(ref this.m_d3D);
 }
Beispiel #2
0
        public DiagnosticResult[] Analyze(IEnumerable <InstanceProducer> producers)
        {
            var invalidProducers =
                from producer in producers
                let registration = producer.Registration
                                   where registration.Lifestyle == Lifestyle.Transient
                                   where DisposableHelpers.IsSyncOrAsyncDisposableType(registration.ImplementationType)
                                   where registration.ShouldNotBeSuppressed(this.DiagnosticType)
                                   select producer;

            var results =
                from producer in invalidProducers
                select new DisposableTransientComponentDiagnosticResult(
                    producer.ServiceType, producer, BuildDescription(producer.Registration.ImplementationType));

            return(results.ToArray());
        }