带有默认值参数的c#overload(扩展)函数

时间:2014-03-13 06:57:13

标签: c# operator-overloading overloading optional-parameters

我不明白为什么编译器没有看到我的第一个多功能

using UnityEngine;
using System.Collections;

namespace Vector3ExtensionMethods
{
    public static class MyExtensionsVector3
    {
        public static Vector3 mult(this Vector3 me, float x, float y=1.0f, float z = 1.0f)
        {
            return new Vector3(me.x * x, me.y * y, me.z * z);
        }

        public static Vector3 mult(this Vector3 me, Vector3 other)
        {
            return new Vector3(me.x * other.x, me.y * other.y, me.z * other.z);
        }
    }
}

这不起作用:

new Vector3(1,1,1).mult(1,1); //compiler says "no overload method 'mult' takes 3 arguments"

为什么?

PS我想补充一点,我在VS编辑器中没有收到任何错误,但是如果我转移到Unity(Unity统一控制台向我发出错误),则会弹出这个特殊错误。

1 个答案:

答案 0 :(得分:0)

也许(新的Vector3(1,1,1))。mult(1,1)?