O método de extensão auto-escrito não está disponível no webMethod
-
22-09-2019 - |
Pergunta
Eu escrevi um método de extensão simples para um projeto da web, ele fica em um arquivo de classe chamado Stringextensions.cs que contém o seguinte código:
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;
}
}
Posso acessar este método de extensão de todas as classes que tenho no diretório app_code. No entanto, eu tenho uma página da web chamada Json.aspx que contém uma série de WebMethods - Dentro disso, não consigo ver o método de extensão - devo estar perdendo algo muito óbvio!
Solução 2
Arquivo stringextensions.cs necessário para declarar a classe como público
Anteriormente:
static class StringExtensions{ ... }
Fixo:
public static class StringExtensions{ ... }
Outras dicas
Para ver o método de extensão, você deve ter um using
Diretiva para o espaço para nome em que a classe que contém o método de extensão é declarada.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow