Selbstgeschriebenen Extension-Methode ist nicht verfügbar in WebMethod
-
22-09-2019 - |
Frage
Ich habe eine einfache Erweiterung Methode für ein Web-Projekt geschrieben, es sitzt in einer Klassendatei namens StringExtensions.cs , die den folgenden Code enthält:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Useful extensions for string
/// </summary>
static class StringExtensions
{
/// <summary>
/// Is string empty
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEmpty(this string value)
{
return value.Trim().Length == 0;
}
}
kann ich diese Erweiterung zugreifen Methode aus allen Klassen I im Verzeichnis App_Code haben. Allerdings habe ich eine Web-Seite mit dem Namen JSON.aspx , die eine Reihe von enthält [WebMethods] - innerhalb dieser kann ich nicht die Erweiterungsmethode sehen - ich muss etwas sehr offensichtlich fehlen!
Lösung 2
StringExtensions.cs Datei benötigt die Klasse haben erklärt, wie Öffentlichkeit
Bisher:
static class StringExtensions{ ... }
Fixed:
public static class StringExtensions{ ... }
Andere Tipps
Um die Erweiterungsmethode sehen Sie eine using
Direktive für den Namespace haben muss, in dem die Klasse die Erweiterungsmethode enthält, deklariert wird.