Para için yalnızca bir tane decimal
alanını içeren özel bir değer türü kullanıyorum. Basitleştirilmiş kod aşağıdaki gibidir.Özel değer türüne bir son ek atayabilir miyim?
public struct Money
{
private decimal _value;
private Money(decimal money)
{
_value = Math.Round(money, 2, MidpointRounding.AwayFromZero);
}
public static implicit operator Money(decimal money)
{
return new Money(money);
}
public static explicit operator decimal(Money money)
{
return money._value;
}
}
Bu yapılandırmayı projemde kullanırken bazen bir belirsizlik ortaya çıkar. Ve bazen Money
olması gereken sabit bir sayı ile bir object
ayarlıyorum. Artık ben gibi nesne başlatılırken am için
object myObject=(Money)200;
benim özel tip Money
için bir sonek atayabilir. Nesneyi aşağıdaki ile başlatmak istiyorum.
object myObject=200p;
Hayır, bu C# mümkün değildir. Ancak bunu yapmak için bir ön işlemci yazabilirsiniz. – leppie
Yapamazsınız. Btw 'p' ne anlama geliyor? Pound? –
Belki de kendinize bir string parametresi olan bir kurucu veya örtülü bir operatör yazabilir ve onu manuel olarak ayrıştırabilirsiniz. – Tarec