J'utilise Autofac (j'ai enregistré le paquet de base de nuget dans une application de console) et je veux jeter un coup d'œil à une liste d'enregistrements.LINQ ne fonctionne pas sur IEnumerable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
// First, create your application-level defaults using a standard
// ContainerBuilder, just as you are used to.
var builder = new ContainerBuilder();
var appContainer = builder.Build();
appContainer.ComponentRegistry.Registrations.Where(x => true);
}
}
}
Le problème est la ligne
appContainer.ComponentRegistry.Registrations.Where(x => true);
Ici IntelliSense ne me donne pas les cas où la méthode LINQ mais il ne compile pour autant que je peux dire sans aucun avertissement, les erreurs dans les messages.
J'ai essayé plus bas
IEnumerable<string> list = new List<string>();
list.Where(x => true);
Et IntelliSense fonctionne correctement et de me donner toutes les méthodes de liste standard.
J'ai essayé ceci dans quelques applications différentes à partir de zéro et j'ai le même comportement.
Des idées sur ce qui se passe?
EDIT:
Les travaux suivants et montre correctement dans IntelliSense
IEnumerable<IComponentRegistration> test = new List<IComponentRegistration>();
test.Where(x => true);
J'utilise
<package id="Autofac" version="3.0.1" targetFramework="net45" />
de NuGet.
et planant au-dessus des ComponentRegistrations donne
et dans ce champ de cas est défini comme
ILifetimeScope _scope;
Cependant, je reçois la même chose si je tente directement sur ce
var builder = new ContainerBuilder();
var appContainer = builder.Build();
appContainer.ComponentRegistry.Registrations.Where(x => true);
Aussi IComponentRegistry est défini comme (en Autofac)
public interface IComponentRegistry : IDisposable
{
...
IEnumerable<IComponentRegistration> Registrations { get; }
...
}
J'ai demandé à quelqu'un d'autre d'essayer cela et ils ont le même problème –
J'ai également téléchargé une démo qui montre que l'intellisense ne fonctionne pas https://dl.dropbox.com/u/78170732/ConsoleApplication1.zip –
Si je vous ai bien compris et que votre problème est que intellisense ne fonctionne pas sur la ligne appContainer.ComponentRegistry.Registrations.Où (x => vrai); Vous devriez probablement essayer et désactiver vos addons et voir si cela prend soin de lui comme ça fonctionne bien pour moi. Puisque vous dites que quelqu'un d'autre l'a confirmé, commencez par les addons que vos installations ont en commun. –