2017-10-14 2 views
0

私はC#の学習を始めました。私は「このコードでplayer.HasGravityは:'は、このアクセントにアクセスできないためこのコンテキストでは使用できません。'

using GTA; 
using System; 
using System.Collections.Generic; 
using GTA.Math; 
using GTA.Native; 
using System.Windows.Forms; 

public class SuperJump : Script 
{ 
    public SuperJump() 
    { 
     Tick += OnTick; 
     KeyDown += OnKeyDown; 
     KeyUp += OnKeyUp; 
     Interval = 10; 
    } 

    void OnTick(object sender, EventArgs e) 
    { 
    } 

    void OnKeyDown(object sender, KeyEventArgs e) 
    { 
    } 

    void OnKeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Space) 
     { 
      Ped player = Game.Player.Character; 
      player.HasGravity 
     } 
    } 
} 

エラーメッセージは次のとおりです。

プロパティまたはインデクサー 『行のエラーコード「CS0154」を得続けるEntity.HasGravity』の中で使用することはできませんこのコンテキストはgetアクセサが不足しているためです。

私は同様の問題でいくつかの投稿を見てきましたが、私はまだ問題が何かを理解していません。

+0

*サウンズgetterを持たないプロパティ。あなたはそのコードを含んでいなかったので、それは推測です。 – Plutonix

+0

Has ....という性質を持つのは、直観に反して、それから読むことができません。このPedクラスのコードはどこですか? – Steve

答えて

0

キャラクタークラスを確認してください。あなたがあなたの問題が解決するために次の操作を行う必要があるHasGravityプロパティはgetメソッドがそう

class Character 
{ 
    private bool hasGravity; 
    public bool HasGravity 
    { 
     set { hasGravity = value; } 
    } 
} 

のように、定義されていない可能性が最も高いです:* `HasGravity`があるよう

class Character 
{ 
    private bool hasGravity; 
    public bool HasGravity 
    { 
     set { hasGravity = value; } 
     get { return hasGravity; } 
    } 
} 
+0

自動実装されたプロパティを使用しないのはなぜですか? –

+0

私はできましたが、質問者はsetterを実装したがゲッターを実装していないことを前提としていたため、自動実装されたプロパティを使用しなかった可能性が最も高いです。 – myroslav

関連する問題