Bem eu semprei programei em java e estou com um projeto em c# porém tem algumas particularidades
que eu gostaria de mostrar a vcs e quem souber por favor me explique porque funciona, olhem essa classe:
namespace Testes.Exemplo
{
/// <summary>
/// Represent a product category and
/// contains methods for working with categories
/// </summary>
[System.ComponentModel.DataObject]
public class Category
{
private static readonly string _connectionString;
private int _id;
private string _title;
public int CategoryID
{
get { return _id; }
set { _id = value; }
}
public string Title
{
get { return _title; }
set { _title = value; }
}
static Category()
{
_connectionString = WebConfigurationManager.ConnectionStrings["StoreString"].ConnectionString;
}
public Category(SqlDataReader reader)
{
_id = (int) reader["CategoryID"];
_title = (string) reader["Title"];
}
/// <summary>
/// Select all category from databaset
/// </summary>
/// <returns></returns>
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)]
public static List<Category> SelectCategory()
{
//Initialize command
SqlConnection con = new SqlConnection(_connectionString);
SqlCommand cmd = new SqlCommand("dev_SelectAllCategory",con);
cmd.CommandType = CommandType.StoredProcedure;
List<Category> results = new List<Category>();
using(con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
results.Add(new Category(reader));
}
con.Close();
return results;
}
}
}
}
Minhas dúvidas são as seguintes:
pra que sevre a palavra chave readonly ?
eu posso ter um construtor estatico…? em java isso é possivel…?