Following is an example of a COBOL COPY file generated by the NETDEFGEN utility:
* .NET Copy Book - Generated On 1/28/2004 12:25:20 PM OBJECT @ASSEMBLY NAME "@AmortControl" VERSION "1.0.1266.13363" CULTURE "neutral" STRONG "null" * FULLY-QUALIFIED-NAME AmortControl.AmortCalc, AmortControl, Version=1.0.1266.13363, Culture=neutral, PublicKeyToken=null * AmortControl.AmortCalc NAMESPACE "AmortControl" CLASS "AmortCalc" MODULE "amortcontrol.dll" CONSTRUCTOR, 0, @CONSTRUCTOR1 * Void ProcData(Double, UInt32, Double, Double) METHOD, 0, "@ProcData" "double" @AmortizAmount, TYPE 5 "unsigned int" @Months, TYPE 19 "double" @InterestRate, TYPE 5 "double" @WhatIfMonthlyPayment, TYPE 5 * Public - fields FIELD, 0, @MonthlyPayment RETURNING, "double", TYPE 5 FIELD, 0, @TotalInterest RETURNING, "double", TYPE 5 FIELD, 0, @TotalPayment RETURNING, "double", TYPE 5 FIELD, 0, @WhatIfTotalInterest RETURNING, "double", TYPE 5 FIELD, 0, @WhatIfTotalPayment RETURNING, "double", TYPE 5 FIELD, 0, @WhatIfMonths RETURNING, "unsigned int", TYPE 19 FIELD, 0, @Yearly_Interest RETURNING, "STORED_OBJECT", TYPE 69 FIELD, 0, @Yearly_Principal RETURNING, "STORED_OBJECT", TYPE 69 FIELD, 0, @Life_Interest RETURNING, "STORED_OBJECT", TYPE 69 FIELD, 0, @Life_Principal RETURNING, "STORED_OBJECT", TYPE 69 FIELD, 0, @Month_Interest RETURNING, "STORED_OBJECT", TYPE 69 FIELD, 0, @Month_Principal RETURNING, "STORED_OBJECT", TYPE 69 * FULLY-QUALIFIED-NAME AmortControl.CalcFired, AmortControl, Version=1.0.1266.13363, Culture=neutral, PublicKeyToken=null * AmortControl.CalcFired NAMESPACE "AmortControl" CLASS "CalcFired" MODULE "amortcontrol.dll" CONSTRUCTOR, 0, @CONSTRUCTOR1 "STORED_OBJECT" @object, TYPE 69 "STORED_OBJECT" @method, TYPE 69 * Void EndInvoke(System.IAsyncResult) METHOD, 0, "@EndInvoke" "STORED_OBJECT" @result, TYPE 69 * System.IAsyncResult BeginInvoke(System.AsyncCallback, System.Object) METHOD, 0, "@BeginInvoke" "STORED_OBJECT" @callback, TYPE 69 "STORED_OBJECT" @object, TYPE 69 RETURNING "STORED_OBJECT", TYPE 69 * Void Invoke() METHOD, 0, "@Invoke" * Public - fields * FULLY-QUALIFIED-NAME AmortControl.UserControl1, AmortControl, Version=1.0.1266.13363, Culture=neutral, PublicKeyToken=null * AmortControl.UserControl1 NAMESPACE "AmortControl" CLASS "UserControl1" MODULE "amortcontrol.dll" VISUAL CONSTRUCTOR, 0, @CONSTRUCTOR1 * Void Dispose(Boolean) METHOD, 0, "@Dispose" "boolean" @disposing, TYPE 11 * Void add_FireCalc(AmortControl.CalcFired) METHOD, 0, "@add_FireCalc" "STORED_OBJECT" @value, TYPE 69 * Void remove_FireCalc(AmortControl.CalcFired) METHOD, 0, "@remove_FireCalc" "STORED_OBJECT" @value, TYPE 69 * System.String get_TotalInterest() METHOD, 0, "@get_TotalInterest" RETURNING "BSTR", TYPE 8 * System.String get_TotalPayment() METHOD, 0, "@get_TotalPayment" RETURNING "BSTR", TYPE 8 * System.String get_MonthPayment() METHOD, 0, "@get_MonthPayment" RETURNING "BSTR", TYPE 8 * System.String get_WhatIfTotalInterest() METHOD, 0, "@get_WhatIfTotalInterest" RETURNING "BSTR", TYPE 8 * System.String get_WhatIfTotalPayment() METHOD, 0, "@get_WhatIfTotalPayment" RETURNING "BSTR", TYPE 8 * System.String get_WhatIfMonths() METHOD, 0, "@get_WhatIfMonths" RETURNING "BSTR", TYPE 8 * Void InitializeComponent() METHOD, 0, "@InitializeComponent" * Void calcBtn_Click(System.Object, System.EventArgs) METHOD, 0, "@calcBtn_Click" "STORED_OBJECT" @sender, TYPE 69 "STORED_OBJECT" @e, TYPE 69 * Public - fields FIELD, 0, @columnHeader1 RETURNING, "STORED_OBJECT", TYPE 69 * TotalInterest PROPERTY_GET, 0, @TotalInterest RETURNING, "BSTR", TYPE 8 * TotalPayment PROPERTY_GET, 0, @TotalPayment RETURNING, "BSTR", TYPE 8 * MonthPayment PROPERTY_GET, 0, @MonthPayment RETURNING, "BSTR", TYPE 8 * WhatIfTotalInterest PROPERTY_GET, 0, @WhatIfTotalInterest RETURNING, "BSTR", TYPE 8 * WhatIfTotalPayment PROPERTY_GET, 0, @WhatIfTotalPayment RETURNING, "BSTR", TYPE 8 * WhatIfMonths PROPERTY_GET, 0, @WhatIfMonths RETURNING, "BSTR", TYPE 8 * FireCalc () EVENT, 520214344, @UserControl1_FireCalc