Articles of extension methods

Como posso obter um método de extensão para alterar o object original?

Eu quero ser capaz de escrever methods de extensão para que eu possa dizer: lines.ForceSpaceGroupsToBeTabs(); ao invés de: lines = lines.ForceSpaceGroupsToBeTabs(); No entanto, o seguinte código atualmente gera: ….one ……..two ao invés de: Tone TTtwo O que eu tenho que mudar no código a seguir para torná-lo de saída: Tone TTtwo (note que para visibilidade […]

Posso usar methods de extensão e LINQ no .NET 2.0 ou 3.0?

Quando tento adicionar um método de extensão usando o tempo de execução do .NET 2.0 ou 3.0, recebo o erro: Não é possível definir um novo método de extensão porque o tipo necessário do compilador ‘System.Runtime.CompilerServices.ExtensionAttribute’ não pode ser encontrado. Você está faltando uma referência ao System.Core.dll? Mas não consigo encontrar o System.Core na lista […]

A operação não pode ser concluída porque o DbContext foi descartado

Sou novo na EF e estou tentando usar um método de extensão que converte do meu tipo de database User para minha class de informações UserInfo . Estou usando o database primeiro, se isso faz diferença? Meu código abaixo dá o erro A operação não pode ser concluída porque o DbContext foi descartado. try { […]

Método de extensão na enumeração, não instância de enumeração

Eu tenho uma enumeração para minhas coisas assim: public enum Things { OneThing, AnotherThing } Eu gostaria de escrever um método de extensão para essa enumeração (semelhante à resposta de Prise aqui ), mas enquanto esse método funciona em uma instância da enumeração , ala Things thing; var list = thing.ToSelectList(); Eu gostaria que ele […]

Possíveis armadilhas de usar esta taquigrafia (baseada no método de extensão)

Atualização C # 6 Em C # 6 ?. agora é um recurso de idioma : // C#1-5 propertyValue1 = myObject != null ? myObject.StringProperty : null; // C#6 propertyValue1 = myObject?.StringProperty; A questão abaixo ainda se aplica a versões mais antigas, mas ao desenvolver um novo aplicativo usando o novo ?. operador é muito […]

Posso “multiplicar” uma string (em c #)?

Suponha que eu tenha uma string, por exemplo string snip = “”; Eu quero basicamente escrevê-lo várias vezes, dependendo de algum valor inteiro. string snip = “”; int multiplier = 2; // TODO: magic code to do this // snip * multiplier = “”; EDIT: Eu sei que eu posso facilmente escrever minha própria function […]

Métodos de extensão estática

Duplicar Possível: Posso adicionar methods de extensão a uma class estática existente? Existe alguma maneira eu posso adicionar um método de extensão estática a uma class. especificamente eu quero sobrecarregar Boolean.Parse para permitir um argumento int.

Tipos anônimos – há alguma característica distingushing?

Existe alguma coisa para usar, para determinar se um tipo é realmente um tipo anônimo? Por exemplo, uma interface, etc? O objective é criar algo como o seguinte … //defined like… public static T Get(this IAnonymous obj, string prop) { return (T)obj.GetType().GetProperty(prop).GetValue(obj, null); } //… //And then used like… var something = new { name […]

Converter string em tipo anulável (int, double, etc…)

Eu estou tentando fazer alguma conversão de dados. Infelizmente, grande parte dos dados está em strings, onde deve ser int ou double, etc … Então o que eu tenho é algo como: double? amount = Convert.ToDouble(strAmount); O problema com esta abordagem é se o strAmount estiver vazio, se estiver vazio, eu quero que ele seja […]

Como funcionam os methods de extensão?

Eu quero fazer um método de extensão no Unity3d para a class Vector3. Mas eu não pareço entender isso. Isso é o que eu tenho: public static class ExtensionMethods{ public static Vector3 MaxValue(this Vector3 _vec3) { return new Vector3(float.MaxValue,float.MaxValue,float.MaxValue); } } Agora eu quero fazer um Vector3.MaxValue apenas como float.MaxValue com esta linha de código: […]