![](/img/trans.png)
[英]Why am I obtaining this inconsistent accessibility error on the return type of a method?
[英]Why am I getting the error Error 1 Inconsistent accessibility: return type?
這個項目應該有一個聯系人類和地址類,我正在從數據文件中提取信息
namespace Week1.DataAccess
{
public class AddressBookRepo
{
private string ConnectionString
{
get
{
return ConfigurationManager
.ConnectionStrings["AddressbookConnectionString"]
.ConnectionString;
}
}
public List<Contact> GetAllContacts()
{
var contactList = new List<Contact>();
using (var conn = new SqlConnection(ConnectionString))
{
using (var command = new SqlCommand())
{
command.Connection = conn;
command.CommandText = "SELECT * FROM CONTACT";
conn.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
var contact = GetContactFromDataReader(reader);
contactList.Add(contact);
}
}
}
}
return contactList;
}
public Contact GetContactById(int id)
{
Contact contact = null;
using (var conn = new SqlConnection(ConnectionString))
{
using (var command = new SqlCommand())
{
command.Connection = conn;
conn.Open();
command.CommandText =
@"SELECT *
FROM CONTACT
WHERE ContactID = @ContactId";
command.Parameters.AddWithValue("ContactID", id);
using (var reader = command.ExecuteReader())
{
reader.Read();
contact = GetContactFromDataReader(reader);
}
}
}
return contact;
}
// 2.) create a GetAllAddresses method
public List<Address> GetAllAddresses() //i am getting error here
{
var addressList = new List<Address>();
using (var conn = new SqlConnection(ConnectionString))
{
using (var command = new SqlCommand())
{
command.Connection = conn;
command.CommandText = "SELECT * FROM ADDRESS";
conn.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
var address = GetAddressFromDataReader(reader);
addressList.Add(address);
}
}
}
}
return addressList;
}
// 3.) create a GetAddressById method
public Address GetAddressById(int id)// I am getting error here
{
Address address = null;
using (var conn = new SqlConnection(ConnectionString))
{
using (var command = new SqlCommand())
{
command.Connection = conn;
conn.Open();
command.CommandText =
@"SELECT *
FROM ADDRESS
WHERE ADDRESSID = @AddressId";
command.Parameters.AddWithValue("addressID", id);
using (var reader = command.ExecuteReader())
{
reader.Read();
address = GetAddressFromDataReader(reader);
}
}
}
return address;
}
// 4.) create a method to GetAddressesByState (extra credit)
private static Contact GetContactFromDataReader(SqlDataReader reader)
{
var contact = new Contact
{
ContactId = Convert.ToInt32(reader["ContactID"]),
FirstName = Convert.ToString(reader["FirstName"]).Trim(),
LastName = Convert.ToString(reader["LastName"]).Trim(),
Title = reader["Title"].ToString().Trim(),
AddDate = (DateTime)reader["AddDate"],
ModifiedDate = (DateTime)reader["ModifiedDate"]
};
return contact;
}
private static Address GetAddressFromDataReader(SqlDataReader reader)
{
var address = new Address
{
AddressId = Convert.ToInt32(reader["addressID"]),
Street1 = Convert.ToString(reader["Street1"]),
Street2 = Convert.ToString(reader["Street2"]),
City = Convert.ToString(reader["City"]),
StateProvince = Convert.ToString(reader["StateProvince"]),
CountryRegion = Convert.ToString(reader["CountryRegion"]),
PostalCode = Convert.ToString(reader["PostalCode"]),
AddressType = Convert.ToString(reader["AddressType"]),
ContactId = Convert.ToInt32(reader["ContactID"]),
ModifiedDate = (DateTime)reader["ModifiedDate"]
};
return address;
}
}
}
您的課程(可能是地址廣告/或聯系人)可能不是公開的,無法與它們所使用的方法的可訪問性相匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.