Ниже приведен весь мой исходный код.Непоследовательная доступность: тип возврата менее доступен, чем метод в службе RESTful
Может кто-нибудь предложить, пожалуйста, как решить следующую ошибку:
Error 2 Inconsistent accessibility: return type 'ConsumingApp.Dept' is less accessible than method 'ConsumingApp.Form1.CreateDept(ConsumingApp.Dept)'
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.Serialization.Json;
using System.IO;
namespace ConsumingApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var client = new WebClient();
client.Headers.Add("Accept", "application/json");
var result = client.DownloadString("http://localhost:20642/ComRESTfulService.svc/Depts");
var serializer = new DataContractJsonSerializer(typeof(Dept[]));
Dept[] resultObject;
using (var stream = new MemoryStream(Encoding.ASCII.GetBytes(result)))
{
resultObject = (Dept[])serializer.ReadObject(stream);
}
DataTable dt = new DataTable();
dt.Columns.Add("DeptId", typeof(int));
dt.Columns.Add("DeptName", typeof(string));
foreach (var item in resultObject)
{
int DeptId = item.DeptId;
string DeptName = item.DeptName;
DataRow row = dt.NewRow();
row[0] = DeptId;
row[1] = DeptName;
dt.Rows.Add(row);
}
dataGridView1.DataSource = dt;
}
public Dept CreateDept(Dept dept)
{
return SendDataToServer("http://localhost:63588/PunService.svc/Depts", "POST", dept);
}
private T SendDataToServer<T>(string endpoint, string method, T dept)
{
var request = (HttpWebRequest)HttpWebRequest.Create(endpoint);
request.Accept = "application/json";
request.ContentType = "application/json";
request.Method = method;
var serializer = new DataContractJsonSerializer(typeof(T));
var requestStream = request.GetRequestStream();
serializer.WriteObject(requestStream, dept);
requestStream.Close();
var response = request.GetResponse();
if (response.ContentLength == 0)
{
response.Close();
return default(T);
}
var responseStream = response.GetResponseStream();
var responseObject = (T)serializer.ReadObject(responseStream);
responseStream.Close();
return responseObject;
}
private void button1_Click(object sender, EventArgs e)
{
Dept dept = new Dept
{
DeptId = Convert.ToInt32(textBox1.Text),
DeptName = textBox2.Text
};
CreateDept(dept);
}
}
}`
Попробуйте изменить модификатор доступа к общему –
Вам нужно показать класс 'Dept', но ошибка сообщает вам все, возможно, обмануть ... http://stackoverflow.com/questions/6229504/inconsistent-accessibility-parameter- type-is-less-access-than-method? rq = 1 – TheLethalCoder
Возможная дубликация [Непоследовательность Доступность: тип параметра менее доступен, чем метод] (http://stackoverflow.com/questions/6229504/inconsistent-accessibility-parameter- типа является менее доступным, чем метод) –