String类:创建新方法,返回qlDate

时间:2014-08-09 09:55:44

标签: c# string date quantlib

这里我有一个示例代码。我的目标是创建一个从ql.Date返回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();
    }
}

MyClass的:

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....       
}

1 个答案:

答案 0 :(得分:0)

您可以创建extension method(当然,名称可论证)

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();