Date un'occhiata a questa classe di base:Conversione classe C# a JavaScript
namespace AcmeWeb
{
public string FirstName { get; set; }
public class Person
{
public Person(string firstName, string lastName)
{
if (String.IsNullOrEmpty(firstName))
{
throw new ArgumentNullException(firstName);
}
this.FirstName = firstName;
}
}
}
Qual è la migliore traduzione di questo in JavaScript?
Questo è quello che sto pensando:
(function(namespace) {
namespace.Person = function(firstName, lastName) {
// Constructor
(function() {
if (!firstName) {
throw "'firstName' argument cannot be null or empty";
}
})();
// Private memberts
var _ = {
firstName: firstName
};
// Public members
this.firstName = function(value) {
if (typeof(value) === "undefined") {
return _.firstName;
}
else {
_.firstName = value;
return this;
}
};
};
})(AcmeWeb);
Prima di tutto, perché lo si converte in JS? Se è perché hai bisogno di quell'oggetto sul client, puoi analizzare la tua classe in JSON e passarla al client, quindi sarai in grado di trattare l'oggetto JSON sul client esattamente come la tua classe sul server. –
Sto solo esplorando rendendo JavaScript più OO. – AgileMeansDoAsLittleAsPossible
C'è qualcosa chiamato Script # che è un compilatore per C# in JavaScript: http://projects.nikhilk.net/ScriptSharp Non l'ho mai provato, ma l'idea mi sembra ottima. –