私はイベントを作るトラブルのビットを持っていtyoeデリゲートでなければなりませんが、私はエラー'IStregsystem.UserBalanceWarning': event must be of delegate type
、 を取得していますが、私は正確に間違っているかを把握することはできません宣言イベント - 。「イベントが
。私のインターフェイス、IStregsystem
は私が実装する必要がラインevent UserBalanceNotification UserBalanceWarning;
を、持っている私のイベント・クラスは、この(私はちょうど今のところテストしてる)のように見えます
:。
using System;
namespace Eksamensopgave2016
{
public class UserBalanceNotification
{
public delegate void UserBalanceMessage(User user, decimal balanceDifference);
public event UserBalanceMessage UserBalanceWarning;
public User user { get; set; }
private decimal _balanceDifference { get; }
public void OnUserBalanceWarning()
{
if (UserBalanceWarning != null)
{
UserBalanceWarning(user, _balanceDifference);
}
else
{
Console.WriteLine("Event fired!");
}
}
public UserBalanceNotification(User user, decimal balanceDifference)
{
_balanceDifference = balanceDifference;
SetValue(user, balanceDifference);
}
public void SetValue(User user, decimal balanceDifference)
{
if (balanceDifference != 0)
{
user.Balance += balanceDifference;
if (user.Balance < 50)
{
OnUserBalanceWarning();
}
}
}
}
}
私は約ちょうど少し不確かですイベント。 行
UserBalanceWarning
ですか?それともプロパティですか?
ご協力いただきありがとうございます。
マイIStregsystem
:IStregsystemインタフェースで
using System;
using System.Collections.Generic;
using Eksamensopgave2016.Core;
namespace Eksamensopgave2016
{
public interface IStregsystem
{
IEnumerable<Product> ActiveProducts { get; }
List<User> Users { get; set; }
Queue<Transaction> Transactions { get; set; }
InsertCashTransaction AddCreditsToAccount(User user, int amount);
BuyTransaction BuyProduct(User user, Product product);
Product GetProductByID(int productID);
IEnumerable<Transaction> GetTransactions(User user, int count);
List<User> GetUsers(IFilter<User> filter);
User GetUserByUsername(string username);
event UserBalanceNotification UserBalanceWarning;
}
}
*は、メソッドをUserBalanceWarningであるか、それは財産である*それはイベントです?。 –
IStregsystemとUserBalanceNotificationのコードを表示できますか? – Nikolay
@Nikolay私はすでにOPに自分のUserBalanceNotification.csファイル全体を持っています。 IStregsystemを含めるように投稿を編集しました。 – jmkjaer