I have this code in web forms:
namespace TrendsTwitterati
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<TweetEntity> tweetEntity = tt.GetTweetEntity(1, "")
.DistinctBy(e => e.EntityPicURL);
}
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(
this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
{
HashSet<TKey> seenKeys = new HashSet<TKey>();
foreach (TSource element in source)
{
if (seenKeys.Add(keySelector(element)))
{
yield return element;
}
}
}
}
}
When I compile this code I get the error
Extension method must be defined in a non-generic static class.
My question is
Add new static class and define your extension methods inside it. Check out MSDN documentation for Extension methods.
namespace TrendsTwitterati
{
public partial class Default: System.Web.UI.Page
{
}
public static class MyExtensions
{
public static IEnumerable < TSource > DistinctBy < TSource, TKey > (this IEnumerable < TSource > source, Func < TSource, TKey > keySelector)
{
HashSet < TKey > seenKeys = new HashSet < TKey > ();
foreach(TSource element in source)
{
if (seenKeys.Add(keySelector(element)))
{
yield
return element;
}
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With