Skip to content

Instantly share code, notes, and snippets.

View AlbertoMonteiro's full-sized avatar
😎
Writting every day lines fo happy code

Alberto Monteiro AlbertoMonteiro

😎
Writting every day lines fo happy code
View GitHub Profile
@AlbertoMonteiro
AlbertoMonteiro / Program.cs
Created May 16, 2014 04:42
Capturando linhas de códido dos métodos de um Assembly
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Xml.Serialization;
namespace Roslyn.Console
{
class Program
{
static void Main(string[] args)
@AlbertoMonteiro
AlbertoMonteiro / Uni1.pas
Created July 16, 2014 19:26
Usando RTTI para obter Enumerator e a Descricação do Enumerator de forma generica
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TypInfo, StdCtrls;
type
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
using (var ctx = new Ctx())
@AlbertoMonteiro
AlbertoMonteiro / Calculadora.csx
Created July 28, 2014 00:32
Simples calculadora usando scriptcs
public enum Operações
{
Soma = 1,
Subtração,
Multiplicação,
Divisão
}
var type = typeof(Operações);
var todasOperações = Enum.GetNames(type).Select(n => new { Name = n, Value = (int)Enum.Parse(type,n) });
@AlbertoMonteiro
AlbertoMonteiro / gist:f2ecfafbbe590994b0ae
Created July 29, 2014 02:02
Regex com expressão ternária que avalia se string é cpf ou cnpj formatado
^(?([\d.-]{11})(\d{3}\.){2}\d{3}-\d{2}|\d{2}(\.\d{3}){2}/\d{4}-\d{2})$
@AlbertoMonteiro
AlbertoMonteiro / DynamicallyAddingAttributeInProperty.cs
Last active August 29, 2015 14:05
Dynamically adding attribute in a property
var type = typeof(Teste);
var assemblyName = new AssemblyName("TesteNamespace");
var assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
var moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name);
var typeBuilder = moduleBuilder.DefineType("TesteNamespace." + type.Name + "Proxy", TypeAttributes.Public, type);
var jsonIgnoreType = typeof(JsonIgnoreAttribute);
var constructorInfo = jsonIgnoreType.GetConstructor(Type.EmptyTypes);
var attributeBuilder = new CustomAttributeBuilder(constructorInfo, Type.EmptyTypes);
@AlbertoMonteiro
AlbertoMonteiro / ExceptionCSharp5.cs
Last active August 29, 2015 14:06
Comparativo C# 5 e C# 6
using System;
namespace ConsoleApplication2
{
public class ExceptionCSharp5 : Exception
{
public ExceptionCSharp5()
: base("Mensagem")
{ }
}
@AlbertoMonteiro
AlbertoMonteiro / Program.cs
Last active August 29, 2015 14:06
Automatizar a geração de script
using System.Data.SqlClient;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
@AlbertoMonteiro
AlbertoMonteiro / Program.cs
Created September 28, 2014 21:15
GerandoCodigoEmExecucao
using System;
using System.Reflection.Emit;
namespace GerandoCodigoEmExecucao
{
class Program
{
static void Main(string[] args)
{
Func<int, int, int> soma = Soma;
@AlbertoMonteiro
AlbertoMonteiro / Antes.cs
Last active August 29, 2015 14:07
Modulo11 para a validação de PIS
public static string Mod11(string pis)
{
var sum = 0;
var fat = 2;
for (var i = pis.Length-1; i >= 0; i--)
{
sum += Convert.ToInt32(pis[i].ToString()) * fat;
fat++;
if (fat > 9)
fat = 2;