IEnumerable - Where

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • shapper

    IEnumerable - Where

    Hello,

    I created a function the returns an IEnumerable

    public static IEnumerable GetMembershipCr eateStatus(Cult ureInfo
    culture) {
    switch (culture.TwoLet terISOLanguageN ame.ToLower()) {
    case "en":
    return new[] {
    new { Name = MembershipCreat eStatus.Duplica teEmail,
    Description = "..." },
    new { Name =
    MembershipCreat eStatus.Duplica teProviderUserK ey, Description =
    "..." },
    };
    }
    return null;
    }

    I am trying to use and filter this list as follows:

    string error =
    Asset.GetMember shipCreateStatu s(Thread.Curren tThread.Current Culture).Where( s
    =s.Name ==
    MembershipCreat eStatus.Duplica teEmail).Single OrDefault().Des cription;

    I get an error:

    'System.Collect ions.IEnumerabl e' does not contain a definition for
    'Where' and no extension method 'Where' accepting a first argument of
    type 'System.Collect ions.IEnumerabl e' could be found (are you missing
    a using directive or an assembly reference?)

    If I use it inside my method Where is recognized:

    case "en":
    return new[] {
    new { Name = MembershipCreat eStatus.Duplica teEmail,
    Description = "..." },
    new { Name =
    MembershipCreat eStatus.Duplica teProviderUserK ey, Description =
    "..." },
    }.Where(s =s.Name = Input);

    What am I doing wrong?

    Thanks,

    Miguel
  • Jon Skeet [C# MVP]

    #2
    Re: IEnumerable - Where

    shapper <mdmoura@gmail. comwrote:

    <snip>
    If I use it inside my method Where is recognized:
    >
    case "en":
    return new[] {
    new { Name = MembershipCreat eStatus.Duplica teEmail,
    Description = "..." },
    new { Name =
    MembershipCreat eStatus.Duplica teProviderUserK ey, Description =
    "..." },
    }.Where(s =s.Name = Input);
    >
    What am I doing wrong?
    You're trying to use it on the plain nongeneric IEnumerable. Where is
    only defined for the generic IEnumerable<Tty pe.

    --
    Jon Skeet - <skeet@pobox.co m>
    Web site: http://www.pobox.com/~skeet
    Blog: http://www.msmvps.com/jon.skeet
    C# in Depth: http://csharpindepth.com

    Comment

    Working...