1

这里我有一个示例代码。我的目标是创建一个ql.Date从 a返回 a 的方法String。可能吗?我从 Excel 设置日期字符串。但是应用程序需要获得一个ql.Date(). 现在我为任何 Date 写了一个返回方法。这是相当不雅的。

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        MyClass myClass = new MyClass();
        myClass.Date1 = "08/04/2023";
        myClass.Date2 = "05/25/2012";
        // get would return a String, but I need the Date. 
        // So I call the method to get the Date:
        QuantLib.Date qlDate1 = myClass.returnQLDate1();
        QuantLib.Date qlDate2 = myClass.returnQLDate2();
        //My goal is a general method for all Dates (Date1, Date2, Date3,...) 
        // like this:
        QuantLib.Date qlDateX = myClass.DateX.toQLDate();
    }
}

我的课:

public class MyClass
{
    string _Date1, _Date2; //string _Date3,...Date6,...double _rate, _cpn;
    public string Date1
    {
        private get { return _Date1; }
        set { _Date1 = value; }
    }

    public string Date2
    {
        private get { return _Date2; }
        set { _Date2 = value; }
    }

    public QuantLib.Date returnQLDate1()
    { return new QuantLib.Date(Date1, "mm/dd/yyyy"); }
    public QuantLib.Date returnQLDate2()
    { return new QuantLib.Date(Date2, "mm/dd/yyyy"); }
    //  public QuantLib.Date returnQLDate3()
    //  { return....       
}
4

1 回答 1

0

您可以创建扩展方法(当然,名称是有争议的)

public static QuantLib.Date ToQuantLibDate(this string value)
{
    return new QuantLib.Date(value, "mm/dd/yyyy"); }
}

用法:

var str = "08/04/2023";
var date = str.ToQuantLibDate();
于 2014-08-09T09:59:22.993 回答