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 { get; set; }
public InArgument<Categoría> CategoriaEntrada { get; set; }
public InArgument<Categoría> CategoriaBD { get; set; }
// 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
}