tôi đã cố gắng để xác định này chung chung nhưng tôi nhận được nhiều lỗi:Làm thế nào để chỉ định một chung chung với một nơi?
public void AddOrUpdate(T item, V repo) where T: IAuditableTable, V: IAzureTable<TableServiceEntity>
{
try
{
V.AddOrUpdate(item);
}
catch (Exception ex)
{
_ex.Errors.Add("", "Error when adding account");
throw _ex;
}
}
Ví dụ ":" ngay sau khi V trên dòng đầu tiên đưa ra một lỗi:
Error 3 ; expected
cộng các lỗi khác :
Error 2 Constraints are not allowed on non-generic declarations
Error 6 Invalid token ')' in class, struct, or interface member declaration
Error 5 Invalid token '(' in class, struct, or interface member declaration
Error 7 A namespace cannot directly contain members such as fields or methods
Error 8 Type or namespace definition, or end-of-file expected
Có điều gì đó rõ ràng sai với mã hóa chung của tôi không?
Cập nhật:
tôi thực hiện thay đổi và mã ngay bây giờ trông như thế này:
public void AddOrUpdate<T, V>(T item, V repo)
where T : Microsoft.WindowsAzure.StorageClient.TableServiceEntity
where V : IAzureTable<TableServiceEntity>
{
try
{
repo.AddOrUpdate(item);
}
catch (Exception ex)
{
_ex.Errors.Add("", "Error when adding account");
throw _ex;
}
}
Gọi nó từ lớp có nguồn gốc:
public void AddOrUpdate(Account account)
{
base.AddOrUpdate<Account, IAzureTable<Account>>(account, _accountRepository);
}
Bạn nên có lẽ 'ném; 'đây khá hơn' ném cũ; '. Nếu không, bạn sẽ tung ra dấu vết ngăn xếp ban đầu. –