-2

I am getting the error : Error Extension method must be defined in a non-generic static class How can ı solve this? I tried to put public static but it does not work?

public partial class seo : System.Web.UI.Page   
{
  protected void Page_Load(object sender, EventArgs e)
    {

        List<TurBilgileri> lst = DbSorgular.KisiBilgileriBind();

        foreach (TurBilgileri item in lst)

        {
            int IDM = item.ID;
            string TurAdM = item.TurAd.ToString();
            string TurSeoM = item.TurAd.ToString();

            Response.Write(IDM + "<br>");
            Response.Write(TurAdM + "<br>");
            Response.Write(TurSeoM + "<br>");  
        }

    }
        public class TurBilgileri
        {
            public int ID { get; set; }
            public string TurAd { get; set; }
            public string TurSeo { get; set; }
        }

        public class DbSorgular
        {

            public static List<TurBilgileri> KisiBilgileriBind()
            {

                DBt system = new DBt();


                DataTable dt = system.GetDataTable("Select * from tur");

                List<TurBilgileri> lst = new List<TurBilgileri>();


                foreach (DataRow dr in dt.Rows)
                {

                    lst.Add(new TurBilgileri()

                    {

                        ID = Convert.ToInt32(dr["ID"].ToString()),
                        TurAd = dr["TurAd"].ToString(),
                        **TurSeo = UrlseoTP3(dr["TurAd"].ToString()),**


                    });

                }

                return lst;

            }
        }

        public static string UrlseoTP3(this string kelime)
        {
            if (kelime == "" || kelime.Length == 1)
                return "";
            kelime = kelime.TrimStart();
            kelime = kelime.TrimEnd();
            kelime = kelime.Replace("\"", "");
            kelime = kelime.Replace("*", "-");
            kelime = kelime.Replace("ı", ");
            kelime = kelime.Replace("!", "");
            kelime = kelime.Replace("'", "");
            kelime = kelime.Replace(":", "-");
            kelime = kelime.Replace("=", "-");
            kelime = kelime.Replace(".", "-");
            kelime = kelime.Replace(";", "-");
            kelime = kelime.Replace("%", "-");
            kelime = kelime.Replace("(", "-");
            kelime = kelime.Replace(")", "-");
            kelime = kelime.Replace("[", "-");
            kelime = kelime.Replace("]", "");
            kelime = kelime.Replace(" ", "-");
            kelime = kelime.Replace("_", "-");
            kelime = kelime.Replace("---", "-");
            kelime = kelime.Replace("--", "-");
            kelime = kelime.ToLower();

            return kelime;

        }

    }
neon
  • 43
  • 1
  • 11

1 Answers1

1

Listen to the error message.Put your extension method UrlseoTP3 into a non-generic, static and public class.

public static class Extensions 
{
     public static string UrlseoTP3(this string kelime)
     {
        ...
     }
}
Selman Genç
  • 100,147
  • 13
  • 119
  • 184