none
Crear Lambda Expression en una actividad RRS feed

  • Pregunta

  • Cordial saludo.

    Alguien sabe como puedo crear una expresión Lambda en una actividad de .net 4  desde un argumento ya sea InArgument o OutArgument. Para explicar mejor a lo que me refiero doy un ejemplo en lo que hacía en .net 3.5 era lo siguiente:

     

    public partial class ConsultarDpto : Activity
        {
            public ConsultarDpto()
            {
                InitializeComponent();
            }
     
            public static DependencyProperty bdProperty = DependencyProperty.Register("bd"typeof(ConceptosContainer1), typeof(ConsultarDpto));
     
            [DescriptionAttribute("bd")]
            [CategoryAttribute("bd Category")]
            [BrowsableAttribute(true)]
            [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
            public ConceptosContainer1 bd
            {
                get
                {
                    return ((ConceptosContainer1)(base.GetValue(ConsultarDpto.bdProperty)));
                }
                set
                {
                    base.SetValue(ConsultarDpto.bdProperty, value);
                }
            }
     
            public static DependencyProperty dptoEntradaProperty = DependencyProperty.Register("dptoEntrada"typeof(Dpto), typeof(ConsultarDpto));
     
            [DescriptionAttribute("dptoEntrada")]
            [CategoryAttribute("dptoEntrada Category")]
            [BrowsableAttribute(true)]
            [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
            public Dpto dptoEntrada
            {
                get
                {
                    return ((Dpto)(base.GetValue(ConsultarDpto.dptoEntradaProperty)));
                }
                set
                {
                    base.SetValue(ConsultarDpto.dptoEntradaProperty, value);
                }
            }
     
            public static DependencyProperty dptoBDProperty = DependencyProperty.Register("dptoBD"typeof(Dpto), typeof(ConsultarDpto));
     
            [DescriptionAttribute("dptoBD")]
            [CategoryAttribute("dptoBD Category")]
            [BrowsableAttribute(true)]
            [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
            public Dpto dptoBD
            {
                get
                {
                    return ((Dpto)(base.GetValue(ConsultarDpto.dptoBDProperty)));
                }
                set
                {
                    base.SetValue(ConsultarDpto.dptoBDProperty, value);
                }
            }
     
            protected override ActivityExecutionStatus Execute(
                                  ActivityExecutionContext executionContext)
            {
                
                
                dptoBD = (Dpto)bd.Zonas.Where(d => d.Id.Equals(dptoEntrada.Id)).DefaultIfEmpty().First();
                
                
     
               // Console.WriteLine("# de Mpios de "+ dptoBD.Nombre + ": " + dptoBD.Mpios.Count());      
     
                return base.Execute(executionContext);
            }
     
           }
    }

    Espero que el código sea claro.

    Mi duda sería como puedo hacer esto mismo en .net 4.0 si ya no utilizo propiedades de dependencia sino Argumentos. como estos:

     

    public sealed class ConsultarCategoria : CodeActivity
        {
            // Define an activity input argument of type string
            public InArgument<BibliotecaContainer> bd { getset; }
            public InArgument<Categoría> CategoriaEntrada { getset; }
            public InArgument<Categoría> CategoriaBD { getset; }
     
            // If your activity returns a value, derive from CodeActivity<TResult>
            // and return the value from the Execute method.
            protected override void Execute(CodeActivityContext context)
            {
                // Obtain the runtime value of the Text input argument
     
                
              
                
               
            }

     

     

    jueves, 23 de junio de 2011 1:22