[quote=ranophoenix][quote=Marky.Vasconcelos][quote=Filipe Chagas]
C# é uma linguagem dinâmica? :shock: [/quote]
C# de certa forma é, eu estudei um pouco mas vi uma pessoa experiente trabalhando com ela e ao meu entender ela é dinâmica mas não é um Ruby ou Python da vida.[/quote]
Um pouco sobre a natureza “dinâmica” do C#:
Até mais!
[/quote]
Opa, não conhecia esses novos recursos. Interessantes, mas ainda assim não fazem C# uma linguagem dinâmica.
Isso tá mais parecido com aquele tipo variant do -delphi- pascal. O que acontece aqui é uma conversão feita pelo compilador (ou pela runtime .Net DLR), não é duck typing.
Uma pergunta (é uma pergunta mesmo, não é retórica). É possível fazer, por exemplo, o equivalente ao seguinte em C#?
[code]
class_name = ‘foo’.capitalize
klass = Object.const_set(class_name,Class.new)
names = [‘instance1’, ‘instance2’] # Array of instance vars
klass.class_eval do
attr_accessor *names
define_method(:initialize) do |*values|
names.each_with_index do |name,i|
instance_variable_set("@"+name, values[i])
end
end
more…
end[/code]
[complemento]
Uma boa referência para entender o que é o quê: http://akitaonrails.com/2008/02/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado