如何查看Microsoft.Visualbasic.Financial.IRR的源代码? [英] How can I view the source code of Microsoft.Visualbasic.Financial.IRR?

查看:158
本文介绍了如何查看Microsoft.Visualbasic.Financial.IRR的源代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想查看 Microsoft.Visualbasic.Financial.IRR 的源代码。

我该如何将其反编译以查看 IRR方法的源代码金融类?

How can I decompile it to see the source code of the IRR method of financial class?

System{" df -k | awk '{sum += $4 }i; END {print sum} '"};

以上行没有用

我尝试使用其他软件查看它,但它对我不起作用。有任何软件可以查看源代码吗?

I've tried to view it using different software but it will not work for me. Is there any software that will view the source code?

推荐答案

我已经使用过 ILSpy (它是免费)以反编译类型 Microsoft.Visualbasic.Financial.IRR 及其方法 IRR

I've used ILSpy(it's free) to decompile the type Microsoft.Visualbasic.Financial.IRR and it's method IRR:

' Microsoft.VisualBasic.Financial
Public Shared Function IRR(ByRef ValueArray As Double(), Optional Guess As Double=0.1) As Double
    Dim upperBound As Integer
    Try
        upperBound = ValueArray.GetUpperBound(0)
    Catch ex As StackOverflowException
        Throw ex
    Catch ex2 As OutOfMemoryException
        Throw ex2
    Catch ex3 As ThreadAbortException
        Throw ex3
    Catch ex_1B As Exception
        Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", New String()() = { "ValueArray" }))
    End Try
    ' The following expression was wrapped in a checked-expression
    Dim num As Integer = upperBound + 1
    If Guess <= -1.0 Then
        Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", New String()() = { "Guess" }))
    End If
    If num <= 1 Then
        Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", New String()() = { "ValueArray" }))
    End If
    Dim num2 As Double
    If ValueArray(0) > 0.0 Then
        num2 = ValueArray(0)
    Else
        num2 = -ValueArray(0)
    End If
    Dim arg_BF_0 As Integer = 0
    Dim num3 As Integer = upperBound
    Dim i As Integer
    ' The following expression was wrapped in a checked-expression
    i = arg_BF_0
    While i <= num3
        If ValueArray(i) > num2 Then
            num2 = ValueArray(i)
        Else
            If-ValueArray(i) > num2 Then
                num2 = -ValueArray(i)
            End If
        End If
        i = i + 1
    End While
    Dim num4 As Double = num2 * 1E-07 * 0.01
    Dim num5 As Double = Guess
    Dim num6 As Double = Financial.OptPV2(ValueArray, num5)
    Dim num7 As Double
    If num6 > 0.0 Then
        num7 = num5 + 1E-05
    Else
        num7 = num5 - 1E-05
    End If
    If num7 <= -1.0 Then
        Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", New String()() = { "Rate" }))
    End If
    Dim num8 As Double = Financial.OptPV2(ValueArray, num7)
    i = 0
    While True
        If num8 = num6 Then
            If num7 > num5 Then
                num5 -= 1E-05
            Else
                num5 += 1E-05
            End If
            num6 = Financial.OptPV2(ValueArray, num5)
            If num8 = num6 Then
                Exit While
            End If
        End If
        num5 = num7 - num7 - num5 * num8 / num8 - num6
        If num5 <= -1.0 Then
            num5 = num7 - 1.0 * 0.5
        End If
        num6 = Financial.OptPV2(ValueArray, num5)
        If num5 > num7 Then
            num2 = num5 - num7
        Else
            num2 = num7 - num5
        End If
        Dim num9 As Double
        If num6 > 0.0 Then
            num9 = num6
        Else
            num9 = -num6
        End If
        If num9 < num4 AndAlso num2 < 1E-07 Then
            Return num5
        End If
        num2 = num6
        num6 = num8
        num8 = num2
        num2 = num5
        num5 = num7
        num7 = num2
        ' The following expression was wrapped in a checked-statement
        i += 1
        If i > 39 Then
            GoTo Block_17
        End If
    End While
    Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue"))
    Block_17:
    Throw New ArgumentException(Utils.GetResourceString("Argument_InvalidValue"))
End Function

这篇关于如何查看Microsoft.Visualbasic.Financial.IRR的源代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆