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!

Foi útil?

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
scroll top