Se for passar um objeto dessa classe por referência (exemplo: void blablabla (ref ENV_INFO info) no C#), traduza por: void blablabla (ENV_INFO info). Se for passar por valor, passe um clone do objeto desejado. Exemplo: blablabla (env_info.clone());
Thiagosc
!!!
Mas uma struct não passa de uma classe apenas com campos públicos. Mais um engodo do C#.
was
Thiagosc, desculpe, mas a struct do c# não é a mesma coisa que uma class com campos publicos.
As structs tem outras propriedades, dentre elas, a que uma struct não é passada ao um método como referencia, e sim por tipo valor.
Rafael_Steil
Thiagosc:
!!!
Mas uma struct não passa de uma classe apenas com campos públicos. Mais um engodo do C#.
Thiago, nao vacila
Uma struct eh mais leve que uma class, e tem suas instancias armazenadas na stack, ao inves do heap, como acontece com classes normais.
Rafael
Growth
Thingol,
Antes de mais nada, muito obrigado pelas explicações.
Esqueci de dizer uma coisa: aquela struct do C# tem também métodos dentro dela. Daí não sei o que fazer com esses métodos.
Voce nao tem muita escolha - utilize uma classe normal e siga em frente.
Rafael
Growth
Outra dúvida:
A struct do C# está dentro de uma classe.
Como terei que criar uma classe em java para substituir essa struct, terei que criar outro arquivo “.java” para conter essa classe? Não posso criar essa classe dentro da classe que estou trabalhando?
Uma classe no java tambem pode ser alocada na stack se o JIT for esperto o suficiente para detectar que o objeto só tem vida util naquele escopo… Esse é um dos motivos pelos quais o ajva nao tem struct, alem de evitar ter 10 maneiras de fazer a mesma coisa…
Rafael_Steil
Growth:
Outra dúvida:
A struct do C# está dentro de uma classe.
Como terei que criar uma classe em java para substituir essa struct, terei que criar outro arquivo “.java” para conter essa classe? Não posso criar essa classe dentro da classe que estou trabalhando?